java - 获取空值?
问题描述
只是在这个项目上工作, getImageList() 方法在正确的位置传递正确的值后返回空值。我还做了一些记录来验证它。
请看一下。
这是代码:
public class GalleryImage extends AppCompatActivity {
private ArrayList<StoryModel> arrayList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gallery_image);
ListView listView = findViewById(R.id.galleryListView);
Intent intent = getIntent();
String file = intent.getStringExtra("fileName");
String[] files = intent.getStringArrayExtra("filesName");
StoryModel model;
GalleryImage image = new GalleryImage();
arrayList = new ArrayList<>();
for (String s : files) {
model = new StoryModel();
String concat = file + "/" + s;
model.setPath(concat);
arrayList.add(model);
Log.i(TAG, "onCreate: Path " + model.getPath());
Log.i(TAG, "onCreate: ArrayList " + arrayList.add(model));
Log.i(TAG, "onCreate: getImageList: " + image.getImageList());
}
CustomAdapter galleryAdapter = new CustomAdapter(GalleryImage.this, R.layout.whatsapp_gallery_image, image.getImageList(), files);
listView.setAdapter(galleryAdapter);
}
private ArrayList<StoryModel> getImageList() {
return arrayList;
}
}
这是logcat:
2020-12-16 23:39:06.082 2628-2628/com.example.whatsappstatusdownloader I/GalleryImage: onCreate: Path /storage/emulated/0/WhatsApp Status Downloader/0914b4b418414982960aabe18f718e1d.jpg
2020-12-16 23:39:06.082 2628-2628/com.example.whatsappstatusdownloader I/GalleryImage: onCreate: ArrayList true
2020-12-16 23:39:06.082 2628-2628/com.example.whatsappstatusdownloader I/GalleryImage: onCreate: getImageList: null
2020-12-16 23:39:06.083 2628-2628/com.example.whatsappstatusdownloader I/GalleryImage: onCreate: Path /storage/emulated/0/WhatsApp Status Downloader/bf51fb0d3efa4ec89b71b86bfe0534f9.jpg
2020-12-16 23:39:06.083 2628-2628/com.example.whatsappstatusdownloader I/GalleryImage: onCreate: ArrayList true
2020-12-16 23:39:06.083 2628-2628/com.example.whatsappstatusdownloader I/GalleryImage: onCreate: getImageList: null
解决方案
请注意代码中的 arrayList 声明。你有两个。在 OnCreate 你这样声明它:
arrayList = new ArrayList<>();
然后你填充这个列表,而 image.getImageList() 返回另一个实例:
private ArrayList<StoryModel> arrayList;
推荐阅读
- php - php - 将字符串转换为 uuid 版本 4 格式
- javascript - str.at(index) 在 node.js 终端上不起作用
- r - 无法绑定因子
- javascript - 表单未通过 _POST 发送数据
- android - 使用 xml 在 Android Studio 中使屏幕响应
- python - python脚本验证curl输出中的条目
- python-3.9 - 我的导入操作系统工作正常,但在使用 playsound 模块时出现错误
- nginx - Django Rest 框架,在 Nginx 后面具有基本身份验证 + 持有者令牌
- r - 比较 R 中不同和不相等的列表以找到最相似的候选者
- android - 为什么 alertDialog 比 display 宽?