リストビューにある画像ボタンをギャラリーの画像で更新しようとしています(クリックしたとき)。現在、メディアストアへのインテントでActivityForResultを開始できます。ギャラリーが開き、画像を選択すると、onActivityResultでimagepathを取得します。
私の質問は、その特定のリスト項目 (画像ボタン) の画像を更新するにはどうすればよいですか? Customadapter 拡張ベース アダプターを使用しており、イメージ ボタンの onClickListener はアダプターにあり、onActivityResult はホスト アクティビティにあります (このメソッドは、どの listitem がクリックされたかを知りません)。
いくつかの視点を得るために、コードスニペットをいくつか入れています。
/*
* Image button click listener for in the Custom adapter
*/
private class ImageOnClickListener implements OnClickListener {
@Override
public void onClick(View view) {
Intent imageIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
imageIntent.setType("image/*");
((FragmentActivity)view.getContext()).startActivityForResult(imageIntent, IMAGE_PICK_CODE);
}
}
/* onActivityResult PRESENT IN HOST ACTIVITY*/
/* On activity result from image button */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
System.out.println("Result Code" + resultCode);
if(requestCode == FavoriteListAdapter.IMAGE_PICK_CODE && data != null && data.getData() != null && resultCode == FragmentActivity.RESULT_OK) {
Uri _uri = data.getData();
//User had pick an image.
Cursor cursor = getContentResolver().query(_uri, new String[] { android.provider.MediaStore.Images.ImageColumns.DATA }, null, null, null);
cursor.moveToFirst();
//Link to the image
String imageFilePath = cursor.getString(0);
System.out.println("imagefilepath" + imageFilePath);
cursor.close();
}
}
注:画像パスを取得できます(コードが機能しているため、そのリスト項目の特定の画像ボタンを更新する方法がわかりません)。助けてくれてありがとう。