来自电话厨房的Imageview

时间:2012-03-19 20:57:48

标签: android imageview

我试图访问并从我的手机厨房中选择一个图像到我的应用程序imageView,使用android。到目前为止,我设法设置到厨房并选择我想要使用的图像,唯一的问题是,一旦我选择了我想要的图像,我不能把它放到imageview上。问题似乎是我从我的主类中分离出了imageview类。我已经检查过,无法找到解决方案。

继承了mediagalley类的代码

公共类MediaGallery扩展了Activity {     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;

你给予的任何帮助都是非常好的

1 个答案:

答案 0 :(得分:0)

您已宣布MediaGallery是另一项活动。您是否尝试在同一活动上显示ImageView,您可以从中选择启动选择器的按钮,还是在新活动中?如果是前者,请将onActivityResult代码放入主类中。如果是后者,那么您的主类应该将Intent数据传递给MediaGallery类。