【发布时间】:2017-06-13 07:02:39
【问题描述】:
这个问题只是关于设计问题。我将不胜感激。
基本上我有 6 个不同的 ImageView,它们都连接到名为 onImageViewClicked 的同一个方法,该方法将检查 6 个 ImageView 中的哪一个被点击,并启动 Gallery intent 从图库中挑选一张照片。
现在我的问题是......画廊意图的结果来自onActivityResult 方法,但是从那里,如何将照片分配给选定的 ImageView???......这里的代码:
选择 ImageView 并启动 Gallery 的方法 onImageViewClicked:
private void onImageViewClicked(View v){
switch (v.getId()){
case R.id.imgvW_1:
//something here
break;
case R.id.imgvW_2:
//something here
break;
case R.id.imgvW_3:
//something here
break;
case R.id.imgvW_4:
//something here
break;
case R.id.imgvW_5:
//something here
break;
case R.id.imgvW_6:
//something here
break;
}
Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(gallery, PICK_IMAGE);
}
方法onActivityResult从Intent获取结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && requestCode == PICK_IMAGE){
imageUri = data.getData();
//how to assign here the image to the clickedImageView?????????
}
}
---- 编辑---- 谢谢大家的回答。 Ramees、Hardik Maru、Mohammed Atif 和 Luca Rossi 的所有 4 个答案对我来说都很好,所以......他们中的任何一个都比其他人更方便吗??
【问题讨论】:
-
尝试在
onImageViewClicked中设置一个标志并在onActivityResult中使用它来识别点击了哪个ImageView -
感谢@JeffreyRajan...但我恐怕我的朋友可能需要一个稍微扩展的答案....
标签: android android-intent imageview