android – 来自ArrayAdapter的getFragmentManager

我有一个listView来自我的自定义ArrayAdapter.在每个视图中都有一个按钮.我想在单击按钮时更改当前片段.这是我的代码
public class CheckInSArrayAdapter extends ArrayAdapter<JSONObject> {


    @Override
    public View getView(int position,View convertView,ViewGroup parent) {
        return getViewOptimize(position,convertView,parent);
    }

    public View getViewOptimize(int position,ViewGroup parent) {

    ......

        viewHolder.commentBtn.setonClickListener(new View.OnClickListener() {
            public void onClick(View v) {

            ??? <<<<<

        });

        return convertView;
    }

    private class ViewHolder {
        ...       
        public Button commentBtn;
    }

}

所以现在,我无法从OnClickListener调用getFragmentManager.我能怎么做?

解决方法

好吧,也许我有点晚了,但也许它会帮助一些人这样做.

调用适配器的类中,您需要扩展或实现“FragmentActivity”.然后你的Activity将包含一个fragmentManager.

当您调用适配器时,请使用扩展FragmentActivity的类调用

MyAdapterName = new MyAdapterName(MyClassName.this,Objects);

然后在getView()的适配器中 – 执行此操作.

final Context context = parent.getContext();
FragmentManager fm = ((Activity) context).getFragmentManager();

小心使用好的Android FragementManager – android.app.FragmentManager不是android.support.v4.app.FragmentManager;

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...