我正在开展一项活动,其中包含一个可点击的图片视图(标题为“选择你的图片”)。有些事情是这样的:
setContentView(R.layout.main);
ImageView button = (ImageView)findViewById(R.id.categories);
button.setClickable(true);
现在通过单击图像视图,弹出/警报将打开,其中包含来自可绘制文件夹的图像的网格视图表单。如下所示:
protected Dialog onCreateDialog(int id) {
switch(id) {
case CATEGORY_ID:
AlertDialog.Builder builder;
Context mContext = this;
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.categorydialog,(ViewGroup) findViewById(R.id.layout_root));
GridView gridview = (GridView)layout.findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v,int position, long id) {
Toast.makeText(v.getContext(), "Position is "+position, 3000).show();
}
});
ImageView close = (ImageView) layout.findViewById(R.id.close);
close.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
dialog.dismiss();
}
});
builder = new AlertDialog.Builder(mContext);
builder.setView(layout);
dialog = builder.create();
break;
default:
dialog = null;
}
return dialog;
}
我可以点击这些图片。
问题:
我想从这些图像中选择一个并将其设置在用户点击的图像视图中。
任何暗示!
谢谢!
答案 0 :(得分:1)
将ImageView button
转换为字段
public class YourActivityName extends Activity
{
private ImageView mImageView;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mImageView = (ImageView)findViewById(R.id.categories);
mImageView.setClickable(true);
}
}
然后在你的gridview的onItemClick中你可以调用
mImageView.setImageBitmap
(或setImageDrawable
..您需要的setImage..()
方法中的任何一种。
gridview.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v,int position, long id) {
Bitmap bmp = ...; //get your image at this position somehow
mImageView.setImageBitmap(bmp);
}
});
您需要将图片放在您点击的位置,但我会留给您,因为我不知道您的ImageAdapter
是如何工作的。