我正在使用带标签的片段。
我有两个片段:
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
对开放活动有价值。
答案 0 :(得分:2)
不应该像
那样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;
}
试试这个。这将有效。
答案 1 :(得分:0)
首先,您的参数不匹配
这 - &gt;列表不起作用, 片段上下文应该来自活动。
getActivity().getApplicationContext()
使用一些列表对象: -
Adapter adapter=new Adapter(getActivity().getApplicationContext(),list,addedTask);