我正在为我的 Android 应用程序代码而苦苦挣扎......
我正在尝试下载图片(通过intentService),然后通过将ImageView 添加到LinearLayout 来显示它。
到目前为止一切顺利,我有管理下载的意图服务发送给我的绝对路径。我得到带有路径名的吐司。
但是我无法通过添加imageview来显示图片...而且我真的不知道为什么...
起初,我认为我的处理程序无法到达布局,但我设法使用 setImageResource 显示我的资源的随机图像。所以我猜这个问题来自 setimagebitmap 或 bitmapfactory decode ...
在我的 Intentservice 我有(输出是我的文件的名称):
Messenger messenger = (Messenger) extras.get("MESSENGER");
Message msg = Message.obtain();
msg.arg1 = result;
msg.obj = output.getAbsolutePath();
try {
messenger.send(msg);
} etc...
回到我的主要活动,我有:
Private Handler handler = new Handler() {
public void handleMessage(Message message) {
// I Get the message
Object path = message.obj;
//Check if download went ok
if (message.arg1 == RESULT_OK && path != null) {
Toast.makeText(Update3sur3.this,
"Downloaded" + path.toString(), Toast.LENGTH_LONG)
.show();
//Try to display the pic
LinearLayout res2=(LinearLayout)findViewById(R.id.reslayout2);
ImageView imgView2 = new ImageView(Update3sur3.this);
Bitmap bitmap= BitmapFactory.decodeFile(path.toString());
imgView2.setImageBitmap(bitmap);
res2.addView(imgView2);
} else {
Toast.makeText(Update3sur3.this, "Download failed.",
Toast.LENGTH_LONG).show();
}
};
};
非常感谢你!
洛朗