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