Android 单击ListView中的imagebutton导航到ViewPager片段
我有一个使用自定义BaseAdapter的ListView片段。在我的ListView中,我想单击一个图像并调用一个包含ViewPager的新片段。不知何故,我收到了以下错误消息Android 单击ListView中的imagebutton导航到ViewPager片段,android,android-fragments,android-listview,Android,Android Fragments,Android Listview,我有一个使用自定义BaseAdapter的ListView片段。在我的ListView中,我想单击一个图像并调用一个包含ViewPager的新片段。不知何故,我收到了以下错误消息java.lang.UnsupportedOperationException:addView(View)在AdapterView中不受支持,并且无法找出问题所在。我已尝试搜索,但没有解释我的错误消息。 我做错了什么 java.lang.UnsupportedOperationException: addView
java.lang.UnsupportedOperationException:addView(View)在AdapterView中不受支持,并且无法找出问题所在。我已尝试搜索,但没有解释我的错误消息。
我做错了什么
java.lang.UnsupportedOperationException: addView(View) is not supported in AdapterView
at android.widget.AdapterView.addView(AdapterView.java:452)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:938)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
我的听众
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MOKPagerFragment fragment2 = new MOKPagerFragment();
FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
fragmentTransaction.add(R.id.listview_fragment,fragment2);
fragmentTransaction.commit();
}
});
这是我的布局
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listview_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
主要布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
谢谢!用R.id.fragment\u容器替换R.id.listview\u片段就是诀窍。你能解释一下原因吗?我是Android新手,还没有真正了解它是如何工作的。fragment_container是一个视图,您可以在其中加载片段,而不是尝试在ListView中加载它。这是个错误。如果我的答案对你有用?放弃投票。
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MOKPagerFragment fragment2 = new MOKPagerFragment();
FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragment_container,fragment2);
fragmentTransaction.commit();
}
});