0

私はアンドロイド開発に不慣れで、カメラアプリで撮ったばかりの写真を表示して保存するなどの基本を理解することになると、フラットになります。これまでのところ、これはカメラアプリにアクセスするための私のコードです

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);


    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}

これは私の不完全な OnActivityResult() メソッドです

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    ImageView rondo = null;
    Bundle extras = data.getExtras();
    Bitmap mImageBitmap = (Bitmap) extras.get("data");
   rondo.setImageBitmap(mImageBitmap);
    setContentView(R.layout.activity_main);
    }

そして、これはこのアクティビティの私のレイアウトです

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >




    <ImageView android:id="@+id/imageViewName" 
                        android:layout_width="90dp" 
                        android:layout_height="90dp" 
                        android:scaleType="fitStart" 
                        android:adjustViewBounds="true" 
                        android:padding="10dp" 
                        />
                        />

     </LinearLayout>

ImageView で示されているように、私が撮った画像を取得して、レイアウトで指定した場所に配置しようとしています。ただし、写真を撮った後、アプリがクラッシュし続けます。何をしているかわからないのでアドバイスいただけると助かります

4

1 に答える 1

0

ここで発生する可能性のある例外はNullPointerException

OnActivityResult()メソッド内でImageView rondo参照されてnullいる場合、その null 参照変数から setImageBitmap() を呼び出そうとしています。だから明らかにNullPointerException

それを取り除くには、次のことができます。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    setContentView(R.layout.activity_main);
    ImageView rondo = (ImageView)findViewById(R.id.imageViewName);
    Bundle extras = data.getExtras();
    Bitmap mImageBitmap = (Bitmap) extras.get("data");
   rondo.setImageBitmap(mImageBitmap);

    }

お役に立てば幸いです!!!!!!!!!!!!

于 2013-07-26T20:14:44.010 に答える