2012-06-11 43 views
1
數據

OKE staright給點意見,我使用ViewPager,和我有一個以上的片段。每個片段都有自己的形式如何收藏價值/從片段

+=================+ 
| Fragment1 | 
+=================+ 
| Name (EditText) | 
=================== 
| ID No (EditText)| 
=================== 

+=================+ 
| Fragment2 | 
+=================+ 
| Name (EditText) | 
=================== 
| ID No (EditText)| 
=================== 

我在FragmentActivity中有一個按鈕,而不是在片段中。 如何添加/收集所有這些EditTexts到從fragmentActivity列表?

感謝您的幫助

回答

3

提供一個獨特的標籤爲每個片段爲例片段1具有標籤「frag1」和fragment2具有標籤「frag2」,在你的FragmentActivity,您可以使用自己的標籤,展示的訪問片段如下:

Fragment1 fragment1 = (Fragment1)getFragmentManager().findFragmentByTag("frag1"); 
Fragment2 fragment2 = (Fragment2)getFragmentManager().findFragmentByTag("frag2"); 

現在,您可以訪問片段1/fragment2爲EditText上,

EditText editText1 = (EditText) fragment1.getView().findViewById(R.id.editText); 

然後, 你可以得到的文本,editText1.getText();

0

另一種可能性是,如果你不想使用getView和findViewById,那(我真的不知道哪一個更高性能,如果有人知道它的話我會很高興得到它解釋:) ):

class MyFirstFragment extends Fragment { 
    ... 
    private EditText someEditText; 
    ... 
    public Object doSomethingAndGetMeSomething() { 
     return somePreviouslyDefinedData; 
    } 
} 

您只需投你已經被標籤接收到的片段直接到這個java類:

MyFirstFragment firstFrag = (MyFirstFragment) getFragmentManager().findFragmentByTag("frag1"); 

,併爲已定義,讓它執行任何任務的一些功能給你打電話想。

不知道哪條路是在表現手段更好,因爲在這一個創建視圖時,你將不得不繼續參考您的看法,在對方只搜索它..?