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

How to send multiple bundles from activity to fragment

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

这是我从 activity 传递给片段的内容,

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 中的两个方法。

How to send multiple bundles from activity to fragment

使用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 键访问这两个 Bundle。