3 つの画像ボタンがある状況があります。
- カメラで写真を撮る
- 写真を削除する
- 撮影した画像のcropped2fitバージョンを表示する
携帯電話のカメラを使用しています。
私の問題は、setImageBitmapで写真を設定すると、明らかに説明がなくても、間違ったimageButtonに移動することがあります(常に削除ボタンのようですが、よくわかりません)。デバイスを再起動すると問題が解決するようです。
コードは本来あるべきシンプルなものです。findViewById を使用してオブジェクトを ImageButton にキャストし、setImageBitmap で画像を設定します。
ImageView iv = ((ImageView) findViewById(R.id.imgFotoPrima));
iv.setImageBitmap(fn.setupImage(data, PrimaOutputFileUri));
iv.setScaleType(ScaleType.CENTER_CROP);
public static Bitmap setupImage(Intent data, Uri outputFileUri) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2; // SAMPLE_SIZE = 2
Bitmap tempBitmap = null;
Bitmap bm = null;
try {
tempBitmap = (Bitmap) data.getExtras().get("data");
bm = tempBitmap;
Log.v("ManageImage-hero", "the data.getData seems to be valid");
FileOutputStream out = new FileOutputStream(outputFileUri.getPath());
tempBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
}
catch (NullPointerException ex) {
Log.v("ManageImage-other", "another phone type");
bm = otherImageProcessing(options, outputFileUri);
}
catch (Exception e) {
Log.e("ManageImage-setupImage", "problem setting up the image", e);
}
return bm;
}
xml 内の要素の ID が異なります。
Lenovo (7') と Galaxy Tab 7 II でこのアプリケーションを試しました。Galaxy Tab でのみ発生するようです。
タブレット側の問題でしょうか?? 私の状況の誰か?