2012-03-19 14 views
0

私の電話機galleyから私のアプリケーションimageViewに画像をアクセスして選択しようとしていますが、アンドロイドを使用しています。これまでのところ、ガレージに行き、私が使いたい画像を選択するように管理されていた唯一の問題は、いったんイメージを選択してしまえば、イメージビューに取り込めなくてもいいということです。問題は、iveがメインクラスから分離したimageviewクラスを持っているように思えます。チェックして、解決策を見つけることができません。画像の電話番号galley

相続人mediagalleyクラスのコード

パブリッククラスMediaGalleryが延びるアクティビティ{ のpublic static final int型SELECT_IMAGE = 1。

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

if (resultCode == RESULT_OK && requestCode == SELECT_IMAGE) { 
     Uri selectedImage = data.getData(); 
     String path = getPath(selectedImage); 

     Bitmap bitmapImage = BitmapFactory.decodeFile(path); 
     ImageView image = (ImageView) findViewById(R.id.imageView1); 
     image.setImageBitmap(bitmapImage); 


    } 
} 

public String getPath(Uri uri) { 
    String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

    Cursor cursor = getContentResolver().query(uri, filePathColumn, null,null, null); 
    cursor.moveToFirst(); 
    int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 

    return cursor.getString(columnIndex); 
} 

}

とメインクラスコード

case R.id.gallery_button: 
      MediaGallery activ1 = new MediaGallery(); 
      Intent gallery = new Intent(
        Intent.ACTION_PICK, 
        android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
      startActivityForResult(gallery, 1); 
      activ1.onActivityResult(1, 1, gallery); 
      break; 

uは、ILを与えた任意のヘルプは非常にGREATFUL

答えて

0

なるあなたはMediaGalleryは別の活動であると宣言しています。ピッカーを起動するボタンを選択したのと同じアクティビティ、または新しいアクティビティでImageViewを表示しようとしていますか?前者の場合は、onActivityResultコードをメインクラスに入れます。後者の場合、メインクラスはIntentデータをMediaGalleryクラスに渡す必要があります。