如何为两个不同的 class 创建两个 onactivityresult
how to create two onactivityresult for two different class
我有两个不同的 classes。一个 class 用于添加图像并将其上传到服务器,另一个 class 用于使用新图像编辑保存的图像。因此,为了从 SD 卡获取图像,在添加 class 中我使用 startactivityforresult
和 onactivityresult
。我试图在编辑 class 中使用同样的东西,因为在这个 class 中我有一个 ImageView
添加了新图像但它不允许我在编辑中创建 onactivityresult
class。说错误是因为 onactivityresult 已经被定义了。有知道的请帮帮我
代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
Uri filePath = data.getData();
try {
//Getting the Bitmap from Gallery
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
//Setting the Bitmap to ImageView
imageToUpload.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
这样使用:
startActivityForResult (intent, int requestCode);
然后在 onActivityResult
中,您可以使用 requestCode 来使用 switch case。
喜欢:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch(requestCode) {
//Have your cases here
}
}
我有两个不同的 classes。一个 class 用于添加图像并将其上传到服务器,另一个 class 用于使用新图像编辑保存的图像。因此,为了从 SD 卡获取图像,在添加 class 中我使用 startactivityforresult
和 onactivityresult
。我试图在编辑 class 中使用同样的东西,因为在这个 class 中我有一个 ImageView
添加了新图像但它不允许我在编辑中创建 onactivityresult
class。说错误是因为 onactivityresult 已经被定义了。有知道的请帮帮我
代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
Uri filePath = data.getData();
try {
//Getting the Bitmap from Gallery
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
//Setting the Bitmap to ImageView
imageToUpload.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
这样使用:
startActivityForResult (intent, int requestCode);
然后在 onActivityResult
中,您可以使用 requestCode 来使用 switch case。
喜欢:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch(requestCode) {
//Have your cases here
}
}