gpt4 book ai didi

android - 创建一个专门用于检索图像的类?

转载 作者:行者123 更新时间:2023-11-30 01:43:28 25 4
gpt4 key购买 nike

我有一种从图库中检索图像的方法,非常适合我。我的问题是,我在三个单独的 Activity 中使用它,我觉得我应该创建一个可以调用以获取图像的类。

这是我的代码:

private void getImage () {
Intent galleryIntent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
// Start the Intent
startActivityForResult(galleryIntent, RESULT_LOAD_IMG);
}

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

mRLMenuParams.setVisibility(View.GONE);
mRLImageParams.setVisibility(View.VISIBLE);

bmSelectedImage = null;

try {
// When an Image is picked
if (requestCode == RESULT_LOAD_IMG && resultCode == RESULT_OK
&& null != data) {
// Get the Image from data

Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };

// Get the cursor
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
// Move to first row
cursor.moveToFirst();

int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
imgDecodableString = cursor.getString(columnIndex);
cursor.close();
ImageView imSelectedImage = (ImageView) findViewById(R.id.imageView_image);
imSelectedImage.setImageBitmap(BitmapFactory.decodeFile(imgDecodableString));
Bitmap bmImage = Bitmap.createBitmap(BitmapFactory.decodeFile(imgDecodableString));
bmSelectedImage = bmImage.copy(Bitmap.Config.ARGB_8888, true);
} else {
Toast.makeText(this, "You haven't picked Image", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
Toast.makeText(this, "Something went wrong", Toast.LENGTH_LONG).show();
}
}

当我尝试将其放入其自己的类中时,我无法使其工作,即使在传递 Context 时也是如此。看来我需要将其作为一项 Activity ,如果是这样,我看不出将其分开的意义。我是否遗漏了一些可以让我将它放入自己的类并返回图像的东西?

谢谢!

最佳答案

您正在使用来自 Activity 的 onActivityResult 方法。也许有一个类方法来执行 onActivityResult 中的代码。更改您的类以包含两个单独的方法,因为如果您的单独类包含 onActivity 它将无法工作,除非它是一个 Activity 。

http://developer.android.com/reference/android/app/Activity.html

关于android - 创建一个专门用于检索图像的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34094640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com