2016-01-19 44 views
0

您好我有一個帶有textview的fragmentA。當我點擊它時,我去了有一個項目列表的fragmentB。 單擊listitem時,iam會返回到fragmentA並使用listitem值更新textview。 現在,當再次當它拋IllegalStateException異常TextView的IAM點擊:不能改變片段的標籤Android錯誤:無法更改片段的標記。不使用viewpager

boreselect.setOnClickListener(new OnClickListener() { 
      Fragment newContentbore = new BoreValuesListFragment(); 
      @Override 
      public void onClick(View v) { 

       Fragment currentFragment = getFragmentManager().findFragmentByTag(FragmentChangeActivity.mFragmentStack.peek()); 
       String tagbore = newContentbore.toString(); 
       FragmentChangeActivity.mFragmentStack.add(tagbore); 
       FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
       transaction.add(R.id.content_frame, newContentbore,tagbore); 
       transaction.hide(currentFragment); 
       transaction.addToBackStack(tagbore); 
       transaction.commit(); 
      } 
     }); 

我的堆棧跟蹤

01-20 00:14:59.819: E/AndroidRuntime(26655): FATAL EXCEPTION: main 
01-20 00:14:59.819: E/AndroidRuntime(26655): java.lang.IllegalStateException: Can't change tag of fragment BoreValuesListFragment{42a283a0 #2 id=0x7f090044 BoreValuesListFragment{42a283a0}}: was BoreValuesListFragment{42a283a0} now BoreValuesListFragment{42a283a0 #2 id=0x7f090044 BoreValuesListFragment{42a283a0}} 
01-20 00:14:59.819: E/AndroidRuntime(26655): at android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord.java:351) 
01-20 00:14:59.819: E/AndroidRuntime(26655): at android.support.v4.app.BackStackRecord.add(BackStackRecord.java:342) 

回答

0

It's probably because you're adding the same fragment instance three times to the list. You should create a new instance for each page.