Android studio 在RecyclerView中将字符串从startActivityForResult传递到onActivityResult
我想上传图像并将字符串(UID)从Android studio 在RecyclerView中将字符串从startActivityForResult传递到onActivityResult,android-studio,android-intent,Android Studio,Android Intent,我想上传图像并将字符串(UID)从startActivityForResult传递到onActivityResult,然后在onActivityResult上获取字符串(UID) RecyclerView中的startActivityForResult和Main活动中的onActivityResult 我可以上传图像,但无法获取字符串(UID),字符串(UID)在onActivityResult上为null 如果有人能帮我解答问题,我将不胜感激 以下是RecyclerView中的startAc
startActivityForResult
传递到onActivityResult
,然后在onActivityResult
上获取字符串(UID)
RecyclerView
中的startActivityForResult
和Main活动中的onActivityResult
我可以上传图像,但无法获取字符串(UID),字符串(UID)在onActivityResult
上为null
如果有人能帮我解答问题,我将不胜感激
以下是RecyclerView
中的startActivityForResult
:
class ViewHolder extends RecyclerView.ViewHolder {
private TextView textView;
private Button UploadImageButton;
ViewHolder(View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
UploadImageButton = itemView.findViewById(R.id.UploadImageButton);
UploadImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setType("image/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
intent.putExtra("UID", textView.getText().toString());
((Activity) context).startActivityForResult(intent, 6);
}
});
}
}
以下是main活动中的onActivityResult
:
public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
super.onActivityResult(requestCode, resultCode, resultData);
if (resultCode == RESULT_OK) {
if (resultData != null) {
String UID = resultData.getStringExtra("UID");
Log.d("UID", UID);
}
}
}
注意
startActivityForResult()将仅以Uri的形式给出所选图像的结果。也就是说,你通过意图发送的任何额外信息都是无用的
因此,要解决您的问题,您可以做的一件事是首先获取startActivityForResult()的结果,即图像Uri,然后将其与“UID”组合,然后将其传递给MainActivity