gpt4 book ai didi

java - 如何从我的 Android Fragment 获取信息到 MyActivity.java

转载 作者:行者123 更新时间:2023-12-01 14:03:08 26 4
gpt4 key购买 nike

我正在尝试创建一个 Android fragment 来实现一个金额插入框,我可以在整个应用程序中重复使用它。因此,我创建了一个简单的 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 :

<fragment 
android:name="com.example.android.ui.widget.AmountFragment"
android:id="@+id/transaction_amount"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>

到目前为止效果很好。它很好地显示了 fragment ,我可以在其中插入数字。我现在希望能够在 mainActivity 中获取插入的文本。所以我读了this page on Fragments来自 Android 文档,但我完全迷失了。他们显示的代码对我来说毫无意义。我需要定义一个接口(interface),但我不知道我要用它做什么。我尝试简单地复制粘贴它,但出现 InflateException。因为我什至不知道发生了什么,所以我不知道在哪里寻找解决方案。

所以我的问题是:任何人都可以给我一些关于如何将此 fragment 与我使用它的 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() 将获取包含 fragment 的 Activity 实例,然后将其转换到您的 Activity MainActivity,并调用您为其编写的接收器方法。

关于java - 如何从我的 Android Fragment 获取信息到 MyActivity.java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19183027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com