android – 如何从适配器调用ListFragment中定义的方法?

android – 如何从适配器调用ListFragment中定义的方法?,第1张

概述我有一个ListFragment和一个自定义适配器. 从适配器我从行中定义的按钮获取onClick事件.在onClick方法中我得到一些id,我想传递给ListFragment做一些事情. 如何从适配器调用ListFragment中的方法showTask? listfragment public class TaskListFragment extends ListFragment{ / 我有一个ListFragment和一个自定义适配器.

从适配器我从行中定义的按钮获取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中定义的方法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1138069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存