【发布时间】:2017-07-06 18:07:30
【问题描述】:
我正在尝试将 List<> 从活动传递到片段。
当一个 imageView 被点击时; onClick 事件触发对服务器的调用,该调用获取单击 imageView 的用户的 userId 和您想要查看的用户配置文件的 userId。我有一个接口,可以接收从服务器获得的响应,然后发送到一个新的片段类。我遇到的问题是我无法通过捆绑传递List<>。
这是片段类的newInstance,并且正在尝试发送参数
public static HomeUserProfileFragment newInstance(String postTotal, String followersTotal
, String followingTotal, List<UploadPost> uploadPostList, List<FollowUser> followersList, List<FollowUser> followingList) {
HomeUserProfileFragment fragment = new HomeUserProfileFragment();
Bundle args = new Bundle();
args.putString(POST_TOTAL, postTotal);
args.putString(FOLLOWERS_TOTAL, followersTotal);
args.putString(FOLLOWING_TOTAL, followingTotal);
args.putStringArrayList(UPLOAD_POST_LIST,uploadPostList);
args.putStringArrayList(FOLLOWERS_LIST,followersList);
args.putStringArrayList(FOLLOWING_LIST, followingList);
fragment.setArguments(args);
return fragment;
}
虽然这是调用上述片段的 Activity 类。
@Override
public void onClickUserProfile(String post, String followers, String following, List<UploadPost> uploadPostList, List<FollowUser> followersList, List<FollowUser> followingList) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.frame_container, HomeUserProfileFragment.newInstance(post, followers, following,uploadPostList,followersList,followingList))
.addToBackStack(null)
.commit();
}
所以我收到以下错误:
Error:(56, 50) error: incompatible types: List<UploadPost> cannot be converted to ArrayList<String>
Error:(57, 48) error: incompatible types: List<FollowUser> cannot be converted to ArrayList<String>
Error:(58, 49) error: incompatible types: List<FollowUser> cannot be converted to ArrayList<String>
【问题讨论】:
-
args.putStringArrayList不适用于非 StringArrayList 的列表
标签: java android android-fragments