java - 从适配器传递字符串数组列表并获得空结果
问题描述
首先,我会告诉你我的英语非常糟糕,而且是新手。
所以,请耐心等待我:)
我String
有StringArraylist
过关Intent
。
而且我遇到了问题StringArraylist
。
数组适配器
userId = data.get ( getAdapterPosition () ).getUserId ();
name = data.get ( getAdapterPosition () ).getName ();
ImageUrl = data.get ( getAdapterPosition () ).getImageUrl ();
Intent intent = new Intent (mContext, DisplayActivity.class);
Bundle bundle = new Bundle ();
bundle.putString ("userId", userId);
bundle.putString ("name", name);
bundle.putStringArrayList ( "ImageUrl ", (ArrayList<String>) ImageUrl );
intent.putExtras ( bundle );
Toast.makeText ( mContext, "userId = " + userId, Toast.LENGTH_SHORT ).show ();
Toast.makeText ( mContext, "name = " + name, Toast.LENGTH_SHORT ).show ();
for (int i = 0; i < ImageUrl.size (); i++) {
Toast.makeText ( mContext, "Url " + (i+1) + " = " + ImageUrl.get ( i ), Toast.LENGTH_SHORT ).show ();
} // Checked all result and everything is fine.
intent.addFlags ( Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK );
mContext.startActivity(intent);
所有结果
userId
name
并ImageUrl
正确获取。
显示活动
Bundle bundle = getIntent().getExtras();
assert bundle != null;
String userId = bundle.getString ( "userId" );
String name = bundle.getString("name");
ArrayList<String>ImageUrl = bundle.getStringArrayList ("ImageUrl");
Toast.makeText ( DisplayActivity.this, "userId is = " + userId, Toast.LENGTH_SHORT ).show ();
Toast.makeText ( DisplayActivity.this, "Name is = " + name, Toast.LENGTH_SHORT ).show ();
if (ImageUrl == null) {
Toast.makeText ( DisplayActivity.this, "ImageUrl = null", Toast.LENGTH_SHORT ).show ();
} else {
for (int i = 0; i < ImageUrl.size (); i++) {
Toast.makeText ( DisplayActivity.this, "Url " + (i+1) + " = " + ImageUrl.get ( i ), Toast.LENGTH_SHORT ).show ();
}
}
userId
和的字符串值name
被传递,并正确显示。只是
ImageUrl
得到空结果。
我知道这是一个愚蠢的问题,并且已经有了“这么多”的话题。
但是,我已经尝试过自己
例子 :
数组适配器
intent.putStringArrayListExtra ( "ImageUrl ", (ArrayList<String>) ImageUrl );
显示活动
ArrayList<String> ImageUrl = getIntent().getStringArrayListExtra ("ImageUrl");
没有任何合适的答案并得到相同的结果。
请帮帮我。
我找不到出去的路。;(
解决方案
对于 put 使用这个
bundle.putStringArrayList("ImageUrl", new ArrayList<>(ImageUrl));
要获取数据,请使用此
bundle.getStringArrayList("ImageUrl")
推荐阅读
- sql - 如何在oracle plsql中使用带有计数功能的案例
- android - 如何在反应原生的选择器中显示来自firebase的数据
- sql - 检查输入日期是否在开始日期和结束日期表内
- google-apps-script - 可安装触发器在表单提交时随机触发多次
- android - 屏幕锁定时不创建片段
- javascript - 如何在反应中向状态对象添加数据?
- android - 水平分页一个内部有多个 CardView 的 RecyclerView
- jquery - 如何删除未选中的 CheckBox 上突出显示的行?
- automation - isChecked() 方法总是为 react-native 屏幕返回 false - UIAUTOMATOR
- node.js - 如何使用 sequelize 在各自的模式中关联模型?