gpt4 book ai didi

java - 将数据分配给 fragment 中的 Activity 变量,并在另一个 fragment 中获取变量

转载 作者:搜寻专家 更新时间:2023-11-01 08:49:32 25 4
gpt4 key购买 nike

我有一个安卓应用程序。其中有一个 Activity 和两个 fragment 。

当我的应用程序启动时,它会将数据分配给 Activity 中的一个变量。然后点击一个按钮,第二个 fragment 打开,它从他的 Activity 中获取数据,这些数据是在 Activity 中分配的。但它返回空值。到目前为止我尝试过的是......

我在我的 Activity 类中创建了变量,并像这样从我的 fragment 中分配数据。

((MainActivity)getActivity()).resultObj = gson.fromJson(HomeCardString.toString(), HomeCardResult.class);

它分配得很好,因为我在同一个 fragment 中使用了这些数据,就像这样

HomeCardListItemAdapter adapter = new HomeCardListItemAdapter(getActivity(),
R.layout.home_cardlist_item, ((MainActivity)getActivity()).resultObj.HomeData.FriendSummary);

这很完美。

但是当我点击打开我的第二个 fragment 时,它只显示我的布局而没有执行任何覆盖方法。像 oncontentview 等,因为这些所有方法都是在 Activity 开始时执行的。但那时我还没有将数据分配给我的 Activity 变量。所以我制作了自己的方法,并在像这样显示我的第二个 fragment 后立即调用它。

showFragment(FRIENDLIST, true);
FriendListActivity asdss = new FriendListActivity(); // this is my second fragment
asdss.populateFriendList();

在第二个 fragment 中,我有这个方法和这段代码。

public void populateFriendList()
{
FriendList = ((MainActivity)getActivity()).resultObj.HomeData.Friends;
String asd = FriendList.toString();
asd = asd + "asdasda";
}

但是在 [FriendList = ((MainActivity)getActivity()).resultObj.HomeData.Friends;] 这一行之后,它显示了 invocationtargetexception.class 文件,其中没有找到书面源代码。

并且在 logcat 中出现此错误。

07-24 12:06:47.204: E/AndroidRuntime(3926): java.lang.NullPointerException

最佳答案

好的,这就是您将数据从 Activity 发送到 fragment 的方式


(In your Activity)

// You create a bundle

Bundle bundle = new Bundle();

// Add data to your the bundle

bundle.putInt("key", your_data); //e.g. adding integer, you can do similar for other data types


// Pass bundle to the fragment using setArguments()

your_fragment.setArguments(bundle);

(In your Fragment class)

Bundle bundle = getArguments();
Integer your_data = bundle.getInt("key", default_value);

注意:您甚至可以将对象传递给 fragment 。为此,您需要将对象类设置为“Parcelable”并调用 bundle.putParcelable("key", your_object);

研究可以传递给 fragment 的数据类型。请务必询问您是否遇到任何问题。

关于java - 将数据分配给 fragment 中的 Activity 变量,并在另一个 fragment 中获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24927210/

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