現在、画像の位置/IDを親アクティビティに返すグリッドビューがあります。また、画像Uriを親アクティビティに返すか抽出して、親アクティビティの別の場所で解析できる変数に設定したいと思います。私は少し探していましたが、私が試みていることに合う解決策を見つけることができません。
位置を返す私のgridview子アクティビティ
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.grid_layout);
GridView gridView = (GridView) findViewById(R.id.grid_view);
// Instance of ImageAdapter Class
gridView.setAdapter(new ImageAdapter(this));
/**
* On Click event for Single Gridview Item
* */
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Intent data = new Intent(PicPicker2.this, PictureActivity.class);
// passing array index
data.putExtra("id", position);
setResult(Activity.RESULT_OK, data);
finish();
}
});
}
}
親アクティビティで現在結果をキャッチしている場所
else if (reqCode == 2) {
// Selected image id
int position = data.getExtras().getInt("id");
ImageAdapter imageAdapter = new ImageAdapter(this);
ChosenImageView.setImageResource(imageAdapter.mThumbIds[position]);
}
}
}
変数を解析したい場所
Uri attached_Uri = Uri.parse("SOME VARIABLE OF THE RETURNED URI");
グリッドビューでクリックされたアイテムにUriattached_Uri= Uri.parse()を設定したいと思います。私は週末にAndroidをいじくり回してプラットフォームの概念を学ぼうとしているので、説明と例は私にとって大いに役立ち、非常に高く評価されています。
私のimageadapterを追加しました
パブリッククラスImageAdapterはBaseAdapterを拡張します{
private Context mContext;
// Keep all Images in array
public Integer[] mThumbIds = {
R.drawable.pic_1, R.drawable.pic_2,
R.drawable.pic_3, R.drawable.pic_4,
R.drawable.pic_5, R.drawable.pic_6,
R.drawable.pic_7, R.drawable.pic_8,
R.drawable.pic_9, R.drawable.pic_10,
R.drawable.pic_11, R.drawable.pic_12,
R.drawable.pic_13, R.drawable.pic_14,
R.drawable.pic_15
};
// Constructor
public ImageAdapter(Context c){
mContext = c;
}
@Override
public int getCount() {
return mThumbIds.length;
}
@Override
public Object getItem(int position) {
return mThumbIds[position];
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mThumbIds[position]);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setLayoutParams(new GridView.LayoutParams(70, 70));
return imageView;
}
}