Android startActivity对某些图片不起作用,但对其他图片不起作用

时间:2013-10-01 03:30:21

标签: android android-activity

对于令人困惑的问题标题感到抱歉,不确定如何更好地说出来......

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

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

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

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

2 个答案:

答案 0 :(得分:2)

答案似乎是捆绑包有一个大小限制 - 一些文件超出了它,有些则没有。

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

相关问题:Maximum length of Intent putExtra method? (Force close)

答案 1 :(得分:0)

我认为获取图片的问题 null

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

此类型问题会产生许多用户。