アクティビティからList<>
をフラグメントに渡そうとしていますか?互換性のない型:List をArrayListに変換できません<String>
imageViewをクリックすると、 onClickイベントは、imageViewをクリックしたユーザのuserIdと、参照したいユーザプロファイルのuserIdを取得するサーバへの呼び出しをトリガします.iは、サーバから取得した応答を取得するインタフェースを持っています。新しいフラグメントクラスに送信されます。問題は、List<>
をバンドルに渡すことができないことです。
これは、フラグメントクラスのnewInstance
で、パラメータは、この上記の断片がから呼び出されていることをActivityクラスですが
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;
}
渡って送信しようとしています。
@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ではありません** –