簡體   English   中英

如何從我的Android片段獲取信息到MyActivity.java

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM