2012-11-29 92 views
1

Example 我不明白這個例子。 如何在我的程序如何將值從一個片段轉移到另一個片段

申請我試着寫在我的程序

一般使用,我可以。 但被替換的片段。 我不知道如何使用。

傳遞對象的值。

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     super.onCreateView(inflater, container, savedInstanceState); 
     View view = inflater.inflate(R.layout.templistmune, container, false); 
FragmentManager DS2 = getFragmentManager(); 
    FragmentTransaction DSE2 = DS2.beginTransaction(); 
    Fragment DF2 = DS2.findFragmentById(R.id.frameLayout4); 
    if (DF2 == null) { 
     String title = "Fragment A"; 
     templistview2 usermune = new templistview2(title); 
     DSE2.add(R.id.frameLayout4, usermune); 
     DSE2.addToBackStack(null); 
     DSE2.commit(); 
///////////////////////////////////////////////////////// 
     Bundle bundle = new Bundle(); 
     String SAS="50"; 
     bundle.putString("ST", SAS); 
     DF2.setArguments(bundle); 
//////////////////////////////////////////////// 
     } 

拾值的對象 templistview2.java

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     super.onCreateView(inflater, container, savedInstanceState); 
     View view = inflater.inflate(R.layout.templistmune2, container, false); 
//////////////////////////////////////////////////////////////////////////////////// 
    Bundle bundle = this.getArguments(); 
    String myST = bundle.getString("ST", SAS); 
///////////////////Error SAS cannot be resolved to a variable ///////////////// 



     return view; 

    } 

回答

1

你只需要添加添加BundleDF2爲空...所以你的程序要麼用NullPointerException沿某處崩潰行或運行但沒有通過Bundle

等等場所

Bundle bundle = new Bundle(); 
    String SAS="50"; 
    bundle.putString("ST", SAS); 
    DF2.setArguments(bundle); 

的,如果結構之外。

相關問題