从适配器我从行中定义的按钮获取onClick事件.在onClick方法中我得到一些ID,我想传递给ListFragment做一些事情.
如何从适配器调用ListFragment中的方法showTask?
Listfragment
public class TaskListFragment extends ListFragment{ /* ... */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mAdapter = new Tasklistadapter(getActivity(),data); } @OverrIDe public voID onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); setlistadapter(mAdapter); } public voID showTask(long ID) { FragmentTransaction ft = getFragmentManager().beginTransaction(); TaskFragment taskFragment = new TaskFragment(); Bundle args = new Bundle(); args.putLong("ID",ID); taskFragment.setArguments(args); ft.replace(R.ID.fragment_container,taskFragment); ft.commit(); }}
适配器
public class Tasklistadapter extends ArrayAdapter<Task>{ /* ... */ private OnClickListener mOnClickListener = new OnClickListener() { @OverrIDe public voID onClick(VIEw v) { long ID = (Integer) v.getTag(); // how can I call showTask(ID) ? } };}@H_403_15@解决方法 一个常见的解决方案是适配器是片段的内部类,因此它可以直接调用该方法.
或者,通过其构造函数将片段(或片段实现的某些接口)传递给适配器.
总结以上是内存溢出为你收集整理的android – 如何从适配器调用ListFragment中定义的方法?全部内容,希望文章能够帮你解决android – 如何从适配器调用ListFragment中定义的方法?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)