我正在努力结合标签式 ActionBar和Fragments。
我正在使用ActionBarSherlock显示三个独立的选项卡,而我的问题仅与第一个选项卡有关。它应该以列表和详细视图的组合显示项目(称为“优惠券”)。其他两个选项卡显示不同的内容,在这里不发挥作用。
我正在做的是以下内容:
- 主要活动为三个选项卡创建三个片段
- 选项卡 A(列表片段)填充并呈现其列表
- 对于列表上的点击,我在主要活动中编写了一个回调,该回调接收点击项目的 id 并将列表片段与选项卡上的详细信息片段交换(至少它应该这样做)
- 在该回调中,我创建了要显示的详细信息片段并尝试用它替换列表片段。
不幸的是,我没有超越:
java.lang.IllegalArgumentException:没有为片段 CouponDetailFragment{44f4e310 #1 id=0x7f040027} 找到 id 0x7f040027 的视图
我在问题的末尾附上了相关的片段。非常感谢任何帮助。
这些是相关的片段:
public class MyCouponActivity extends SherlockFragmentActivity implements CouponListFragment.Callbacks
列表片段:
<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" />
分片交换交易:
@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();
}