繁体   English   中英

无法从片段调用适配器方法

[英]failed to call Adapter method from fragment

我正在使用带有标签的片段。 我有两个片段: 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

我希望在AddTask调用适配器的getCount() ,否则我希望在打开活动时从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;

}

尝试这个。 这将起作用。

首先,您的参数不匹配

此->列表将不起作用,并且片段上下文应从活动中获取。

 getActivity().getApplicationContext()

使用一些列表对象:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM