0

3 つの画像ボタンがある状況があります。

  1. カメラで写真を撮る
  2. 写真を削除する
  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 でのみ発生するようです。

タブレット側の問題でしょうか?? 私の状況の誰か?

4

0 に答える 0