我有一个由自定义 ArrayAdapter 填充的 listView。每个视图中都有一个按钮。我想在单击按钮时更改当前片段。这是我的代码:
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, View convertView, 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 FragmentManager
- android.app.FragmentManager
不是 android.support.v4.app.FragmentManager;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)