ダイアログビューで膨らませているグリッドビューがあります。ダイアログを開くと(グリッドビューで)、10個の画像のセットが表示されます。
ダイアログが閉じられると、選択した画像が ImageView に設定されます。
今私の質問は、画像の名前を取得できますか?? ImageViewに設定されているのはどれですか???
どこかに保存しなければなりません。
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
final Dialog groupIconsDialog = new Dialog(CreateGroupActivity.this);
groupIconsDialog.setTitle("Choose Group Icon");
groupIconsDialog.setContentView(R.layout.group_icons_layout);
//calling and setting the image icons to the grid view adapter
GridView groupIconsGrid = (GridView)groupIconsDialog.findViewById(R.id.grid_groupIcons);
groupIconsGrid.setAdapter(new GroupIconAdapter(CreateGroupActivity.this));
groupIconsGrid.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
// TODO Auto-generated method stub
group_icon.setImageResource(new GroupIconAdapter(CreateGroupActivity.this).mThumbIds[position]);
groupIconsDialog.dismiss();
}
});
groupIconsDialog.show();
}
});
イメージアダプター
public class GroupIconAdapter extends BaseAdapter {
private Context mContext;
//icons image array
public Integer[] mThumbIds = {
R.drawable.mogra,R.drawable.rhino,
R.drawable.zebra,R.drawable.lion,
R.drawable.mogra,R.drawable.rhino,
R.drawable.giraffee,R.drawable.giraffee,
R.drawable.lion,R.drawable.rhino
};
public GroupIconAdapter(Context c) {
// TODO Auto-generated constructor stub
mContext = c;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mThumbIds.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mThumbIds[position];
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mThumbIds[position]);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setLayoutParams(new GridView.LayoutParams(50, 50));
return imageView;
}
}