如何将多个包从活动发送到片段

时间:2015-01-05 07:30:03

标签: android android-fragments bundle

我想从活动到片段发送多个包,我在这里面临的问题是bundle 2获取bundle 1的引用,如何区分这两个bundle。请给我一些建议。

这是我从活动传递到片段的内容,

FeatureTab featureTab = new FeatureTab();
featureTab.setArguments(bundle_DescriptioneTab);
featureTab.setArguments(bundle_User_Review);
fragmentTransaction.replace(R.id.tabcontainer, featureTab, "FeatureTab");
fragmentTransaction.commit();

这是我在片段中用来获取包的内容,

捆绑1:

 private void setDescription() {
    try {
        Bundle bundle = getArguments();
        txt_Description.setText(bundle.getString("long_description"));
    } catch (NullPointerException e) {
        AppUtils.logError(TAG, "NullPointerException");
    }
}

捆绑2:

private void getUserReviewsParcel() {
    try {
        Bundle bundle = this.getArguments();
        UserReviewsParcel userReviewsParcel = bundle.getParcelable("user_reviews");
        List<UserReviewsBean> list = userReviewsParcel.getparcelList();

        // set the listview adapter
        setListviewAdapter(list);

    } catch (NullPointerException e) {
        AppUtils.logError(TAG, "NullPointerException");
    }
}

我正在调用onCreateView中的两个方法。

1 个答案:

答案 0 :(得分:1)

  

如何将多个捆绑包从活动发送到片段

使用Bundle.putBundle(KEY,VALUE)准备包含其他捆绑包的捆绑包,您可以使用密钥进行访问:

Bundle bundle=new Bundle();
bundle.putBundle("bundle_DescriptioneTab",bundle_DescriptioneTab);
bundle.putBundle("bundle_User_Review",bundle_User_Review);

bundle传递给setArguments方法,您可以使用bundle_DescriptioneTabbundle_User_Review密钥访问这两种广告。