我正在使用带有标签的片段。
我有两个片段:
AddTask.javaAddedTask.java

我上一堂Adaper课
Adapter.java

public class Adapter extends BaseAdapter {
Context context;
List<Reminder_Database> lists;
TextView title, date,time,note,date_edit,time_edit;
EditText title_edit,note_edit;
AddedTask addedTask;
int ids;
public Adapter(Context context, List<Reminder_Database> list, AddedTask addedTask) {
    // TODO Auto-generated constructor stub

    this.context=context;
    this.lists=list;
    this.addedTask=addedTask;
}


上面提到的代码是适配器。现在,我要在第一个片段AddTask.java中列出列表项的数量,但它返回null

我尝试过像

Adapter adapter=new Adapter(context,lists,addedTask);
adapter.getcount();


但它返回null

片段AddedTask的上下文可能正在返回null

请不要混淆AddTaskAddedTask

我希望在getCount()中调用适配器的AddTask,否则我希望打开活动时来自AddedTask的值。

最佳答案

不应该是这样吗

Adapter adapter=new Adapter(getActivity(),list,addedTask);
adapter.getcount();


其中,listList<Reminder_Database>类型的对象。

要从AddedTaskAddTask获得价值:

public class MainActivity extends Activity{

    public int count;

}


首先在AddedTask中设置值

public class AddedTask extends Fragment{

    ....
    ((MainActivity)getActivity()).count = adapter.getcount();


}

要在另一个Fragment中获取它:

public class AddedTask extends Fragment{

    ....
    int count = ((MainActivity)getActivity()).count;

}


尝试这个。这将起作用。

10-08 17:36