2014-09-24 54 views
0

我有一個帶有使用自定義BaseAdapter的ListView的片段。在我的ListView中,我想單擊圖像並調用包含ViewPager的Ne​​w Fragment。不知何故,我得到這個錯誤信息java.lang.UnsupportedOperationException: addView(View) is not supported in AdapterView,並不能找出問題的癥結所在。我嘗試過搜索,但沒有解釋我的錯誤消息。 我在做什麼錯?單擊ListView中的圖像按鈕導航到ViewPager片段

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) 

我onClickListener

   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"> 

回答

0
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(); 

       } 
      }); 
+0

謝謝!用R.id.fragment_container替換R.id.listview_fragment是個訣竅。你能解釋爲什麼嗎?我是新來的Android,並沒有真正知道這是如何工作的。 – 2014-09-24 13:48:57

+0

fragment_container是您可以加載碎片的視圖,而不是您嘗試將其加載到ListView中。那是錯誤的。如果我的答案適合你?進行投票。 – 2014-09-24 13:56:26

+0

沒有,只好等5分鐘才能投票 – 2014-09-24 14:03:45