0

对不起,令人困惑的问题标题,不知道如何更好地表达它......

问题是我在屏幕上有一堆下载的图像缩略图。如果单击其中任何一个,则应启动一个新活动,该活动具有(除其他外)图像的更大版本。

它适用于某些图像,但我偶然意识到,对于超过一半的图像它什么也没做。代码已执行(我收到日志消息)但没有任何反应。

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...");
    }
});

所有日志消息都正确生成,但有时活动不会更改,有时会更改。有任何想法吗?

4

2 回答 2

2

答案似乎是捆绑包有大小限制——有些文件超过了它,有些则没有。

传递文件名而不是位图本身是有效的。

相关问题:Intent putExtra 方法的最大长度?(强制关闭)

于 2013-10-01T23:06:52.637 回答
0

我认为获取图像null的问题。

检查locationBitmap.bitmap设置一个条件,如果为空则设置默认图像,否则设置imageView.setImageBitmap(locationBitmap.bitmap);

这种类型的问题产生了许多用户。

于 2013-10-01T05:38:01.323 回答