[英]How to get information from my Android Fragment to MyActivity.java
我正在嘗試學習創建一個Android片段來實現一個金額插入框,該框可以在整個應用程序中重復使用。 因此,我創建了一個簡單的xml文件,其中包含一些EditText框。 然后,我創建了一個名為AmountFragment.java的關聯Java文件:
public class AmountFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.amount_fragment, container, false);
return view;
}
}
然后,我在另一個xml文件中使用此片段:
<fragment
android:name="com.example.android.ui.widget.AmountFragment"
android:id="@+id/transaction_amount"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
到目前為止,這個工作正常。 它顯示片段很好,我可以在其中插入數字。 現在,我希望能夠在mainActivity中獲取插入的文本。 因此,我從Android文檔中閱讀了有關Fragments的頁面 ,但我完全迷失了。 他們顯示的代碼對我完全沒有意義。 我需要定義一個接口,但是我不知道該怎么做。 我嘗試將其簡單地粘貼粘貼,但是得到了InflateException。 由於我什至不知道發生了什么,所以我不知道在哪里尋找解決方案。
所以我的問題是:有人能給我一些有關如何將此片段與我使用它的Activity接口的指示嗎?
請嘗試以下代碼。
在MainActivity.java
添加
public void getMessage(Object obj) {
Log.d("My App", "Look at my object " + obj.toString();
}
那將從您的AmountFragment
獲取對象,然后在您的AmountFragment
編寫:
String anyObject = "Yay something";
((MainActivity)getActivity()).getMessage(anyObject);
這里發生的是, getActivity()
將獲取包含片段的Activity
的實例,然后將其MainActivity
為Activity MainActivity
,並調用為其編寫的接收器方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.