gpt4 book ai didi

android - ActionBar 选项卡 - 用详细信息 fragment 替换列表 fragment

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

我正在努力组合一个选项卡式 ActionBar fragment

我正在使用 ActionBarSherlock 来显示三个独立的选项卡,而我的问题只与第一个选项卡有关。它应该以列表和详细信息 View 的组合显示项目(称为“优惠券”)。其他两个标签显示的内容不同,在这里不发挥作用。

我正在做的是:

  • 主 Activity 为三个选项卡创建三个 fragment
  • 选项卡 A(列表 fragment )填充并呈现其列表
  • 对于列表上的点击,我在主 Activity 中编写了一个回调,它接收被点击项目的 ID 并将列表 fragment 与选项卡上的详细信息 fragment 交换(至少它应该这样做)
  • 在该回调中,我创建了要显示的详细信息 fragment ,并尝试用它替换列表 fragment 。

不幸的是我没有超越:

java.lang.IllegalArgumentException: No view found for id 0x7f040027 for fragment CouponDetailFragment{44f4e310 #1 id=0x7f040027}

我在问题末尾附上了相关 fragment 。非常感谢任何帮助。

这些是相关的 fragment :

public class MyCouponActivity extends SherlockFragmentActivity implements CouponListFragment.Callbacks

列表 fragment :

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:name="foo.bar.CouponListFragment"
android:id="@+id/coupon_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />

fragment 交换交易:

@Override
public void onItemSelected(final String id) {
final Bundle arguments = new Bundle();
arguments.putString(CouponDetailFragment.ARG_ITEM_ID, id);
final CouponDetailFragment fragment = new CouponDetailFragment();
fragment.setArguments(arguments);
getSupportFragmentManager().beginTransaction().replace(R.id.coupon_list, fragment).commit();
}

最佳答案

如果您在 XML 中定义一个 fragment ,它是固定的,您不能用 FragmentTransaction 中的另一个 fragment 替换它。

最好的办法是替换 <fragment />用某种 ViewGroup .别忘了,您必须使用 FragmentTransaction 在 onCreate(..) 中添加 CouponListFragment你的 Activity 。

关于android - ActionBar 选项卡 - 用详细信息 fragment 替换列表 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11782194/

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