我有一个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;
原文地址:https://www.jb51.cc/android/314069.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。