无法从片段调用 Adapter 方法

failed to call Adapter method from fragment

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

我有一个 Adaper class 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 但它 returns null.

我试过了

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

但是 returns null.

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

请不要混淆 AddTaskAddedTask

我希望在 AddTask 中调用适配器的 getCount(),否则我希望在打开 activity.

时从 AddedTask 中获取值

不应该是这样的吗

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

其中 list 是类型 List<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;

}

试试这个。这会起作用。

首先你的参数不匹配

这个 -> 列表不起作用, 片段上下文应取自 activity.

 getActivity().getApplicationContext()

使用一些列表对象:-

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