Android アプリのコードに苦労しています...
写真を(intentService経由で)ダウンロードしてから、ImageViewをLinearLayoutに追加して表示しようとしています。
これまでのところ、ダウンロードを管理するインテントサービスによって絶対パスが送信されました。パス名でトーストを取得します。
しかし、イメージビューを追加しても画像を表示できません...そして、その理由は本当にわかりません...
最初は、ハンドラーがレイアウトに到達できないと思っていましたが、setImageResource を使用してリソースのランダムな画像を表示することができました。したがって、問題は setimagebitmap または bitmapfactory デコードのいずれかに起因すると思います...
私の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();
}
};
};
どうもありがとうございました!
ローラン