我正在使用带有标签的片段。
我有两个片段:AddTask.java
和AddedTask.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
。请不要混淆
AddTask
和AddedTask
。我希望在
getCount()
中调用适配器的AddTask
,否则我希望打开活动时来自AddedTask
的值。 最佳答案
不应该是这样吗
Adapter adapter=new Adapter(getActivity(),list,addedTask);
adapter.getcount();
其中,
list
是List<Reminder_Database>
类型的对象。要从
AddedTask
到AddTask
获得价值: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;
}
尝试这个。这将起作用。