gpt4 book ai didi

android - fragment 已激活 - 尝试 setArguments 时

转载 作者:IT老高 更新时间:2023-10-28 23:38:38 26 4
gpt4 key购买 nike

我正在使用下面链接中给出的示例

http://android-er.blogspot.in/2013/04/handle-onlistitemclick-of-listfragment.html

这里我有两个类,一个扩展 List Fragment,另一个扩展 Fragment。现在我以这种方式将对象传递给detailfragment:

*来自 ListFragment *

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
Detailfragment detailFragment = (Detailfragment)getFragmentManager().findFragmentById(detailFragmentID);

Bundle bundle = new Bundle();
bundle.putSerializable(BUNDLE_KEY, obj);// passing this object

detailFragment.setArguments(bundle);
detailFragment.setUpLayout();// update the UI
}

现在在 Fragment 类中我收到它,基本目标是根据列表 fragment 中选择的项目更新 fragment 的 UI,这就是我发送对象的原因

Bundle b = getArguments();
b.getSerializable(BUNDLE_KEY);

现在在选定的项目上显示“fragment 已激活”。

这里有什么问题?我做错了什么?

最佳答案

另一种解决方案是为您的 fragment 创建一个空的构造函数。

public Detailfragment() {
super();
// Just to be an empty Bundle. You can use this later with getArguments().set...
setArguments(new Bundle());
}

并在 onListItemClick 方法中使用该 bundle :

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
Detailfragment detailFragment = (Detailfragment)getFragmentManager().findFragmentById(detailFragmentID);

// Update the keys.
detailFragment.getArguments().putSerializable(BUNDLE_KEY, obj);// passing this object

detailFragment.setUpLayout();// update the UI
}

现在您可以在 setUpLayout() 方法中调用 getArguments() 方法。

关于android - fragment 已激活 - 尝试 setArguments 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19999172/

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