繁体   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