对于令人困惑的问题标题感到抱歉,不确定如何更好地说出来......
问题是我在屏幕上有一堆下载的图像缩略图。如果单击其中任何一个,则应启动一个新活动,其中包含(除其他外)更大版本的图像。
它适用于某些图像,但我偶然意识到,对于超过一半的图像,它什么都不做。代码被执行(我得到了日志消息)但没有任何反应。
ImageView imageView = new ImageView(this);
imageView.setImageBitmap(locationBitmap.bitmap);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View image) {
Log.i(this.getClass().getName(), "You selected location: " + locationBitmap.location);
Intent i = new Intent(context, AnswerActivity.class);
i.putExtra("question_text", question_text);
i.putExtra("question_title", question_title);
i.putExtra("location", locationBitmap.location);
i.putExtra("bitmap", locationBitmap.bitmap);
Log.d(this.getClass().getName(), "About to start the activity...");
context.startActivity(i);
Log.d(this.getClass().getName(), "Started the activity...");
}
});
所有日志消息都正确生成,但有时活动不会更改,有时也会更改。有什么想法吗?
答案 0 :(得分:2)
答案似乎是捆绑包有一个大小限制 - 一些文件超出了它,有些则没有。
传递文件的名称而不是位图本身。
相关问题:Maximum length of Intent putExtra method? (Force close)
答案 1 :(得分:0)
我认为获取图片的问题 null 。
检查locationBitmap.bitmap
null 或不如果为null,则设置一个条件,然后设置默认图像,设置为imageView.setImageBitmap(locationBitmap.bitmap);
此类型问题会产生许多用户。