2014-02-17 14 views
0

我有4個片段1,2,3,4。我想從3切換到2,所以新訂單將是1,3,2,4。 一切都好,除了我失去了我傳遞的數據和沒有錯誤,只是一個安靜的拒絕!洛爾 下面的代碼的對片段的一部分:更改片段順序並傳遞數據android

List<Fragment> fragments = new Vector<Fragment>(); 
fragments.add(Fragment.instantiate(this,PageCreator.class.getName())); // 1 
fragments.add(Fragment.instantiate(this,PageRecette.class.getName())); // 2 
fragments.add(Fragment.instantiate(this,PageArome.class.getName())); // 3 
fragments.add(Fragment.instantiate(this,PageUser.class.getName())); // 4 

this.mPagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments); 

ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager); 
pager.setAdapter(this.mPagerAdapter); 

衆所周知的通過DATAS(從圖2和3點的片段到活動):

@Override 
public void onClick(DialogInterface dialog, int id) {  
// Passing Datas to MainActivity 
Click_status = 0; 
mListener.onListItemSelected(item_name, id, Click_status, Fsa.Press_pos); 
} 
@Override 
public void onAttach(Activity activity) { 
    // TODO Auto-generated method stub 
    super.onAttach(activity); 

try { 
      mListener = (onListItemSelectedListener) activity; 
     } catch (ClassCastException e) { 
      throw new ClassCastException(activity.toString() 
        + " must implement onListItemSelectedListener"); 
     } 
} 

然後在相同的片段:

public interface onListItemSelectedListener{ 
    public void onListItemSelected(String item_name, int id, int Click_status, int Press_pos); 
} 

所有這些數據都傳遞給主要活動

import com.tutos.PageRecette.onListItemSelectedListener; //Passing Datas 
import com.tutos.PageArome.onLongClickSelectedListener; 

那麼方法等等

萬物的作品片段切換之前好 - 的數據都是過去了, 那麼如果我改變順序或片段,我失去了他們。

fragments.add(Fragment.instantiate(this,PageCreator.class.getName())); // 1 
    fragments.add(Fragment.instantiate(this,PageArome.class.getName())); // 3 
    fragments.add(Fragment.instantiate(this,PageRecette.class.getName())); // 2 
    fragments.add(Fragment.instantiate(this,PageUser.class.getName())); // 4 

任何線索?感謝您閱讀我!

回答

0

如果此數據被兩個或多個片段之間共享,那麼你可以將這些數據通過使用

((Your Activity class name)getActivity())."the getter or setter method" 

添加到活動中,你可以訪問你的片段內的任何時間你也可以讓他們靜若他們共享訪問多個活動。

+0

檢查後,它顯示它是一個圖形問題,數據在那裏,但settext不起作用...對不起 – user3281883