Android 如何在从gridview中选择的图像视图中显示图像。gridview位于警告框中
我正在进行一项活动,该活动包含一个可单击的图像视图(标题为“选择您的图像”)。类似于以下内容:Android 如何在从gridview中选择的图像视图中显示图像。gridview位于警告框中,android,Android,我正在进行一项活动,该活动包含一个可单击的图像视图(标题为“选择您的图像”)。类似于以下内容: setContentView(R.layout.main); ImageView button = (ImageView)findViewById(R.id.categories); button.setClickable(true); 现在,通过单击图像视图,将打开一个弹出窗口/警报,其中包含一个网格视图表单,该表单由我的可绘制文件夹中的图像组成。如下所示: pro
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;
}
protecteddialog onCreateDialog(int-id){
开关(id){
案件类别编号:
AlertDialog.Builder;
Context mContext=这个;
LayoutInflater充气器=(LayoutInflater)mContext.getSystemService(布局充气器服务);
视图布局=充气器。充气(R.layout.categorydialog,(视图组)findViewById(R.id.layout_root));
GridView GridView=(GridView)layout.findviewbyd(R.id.GridView);
setAdapter(新的ImageAdapter(this));
setOnItemClickListener(新的OnItemClickListener()
{
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
Toast.makeText(v.getContext(),“Position is”+Position,3000.show();
}
});
ImageView close=(ImageView)layout.findviewbyd(R.id.close);
close.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
dialog.dismise();
}
});
builder=新建AlertDialog.builder(mContext);
builder.setView(布局);
dialog=builder.create();
打破
违约:
dialog=null;
}
返回对话框;
}
我可以点击这些图片
问题:我想从这些图像中选择一个,并在用户单击的图像视图中进行设置。 任何建议!
谢谢 将
ImageView按钮
转换为字段
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(新的OnItemClickListener()
{
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
位图bmp=…;//以某种方式在该位置获取图像
设置图像位图(bmp);
}
});
您需要在单击的位置获取图像,但我将留给您,因为我不知道您的
ImageAdapter
如何工作。此外,这取决于您在同一类中拥有对话框和mImageView。不必是字段。可以通过id找到imageview。为了简单起见,我使用字段,但@Ian是对的,您可以简单地执行((imageview)findViewById(R.id.categories))。setImageBitmap(bmp);设置图像时,感谢您的回答!现在我的方向是正确的。我已经这样使用了您的代码:Bitmap bmp=Bitmap.createBitmap(v.getWidth(),v.getHeight(),Bitmap.Config.RGB_565);设置图像位图(bmp);这将创建一个空位图,可以正常工作。当您设置该值时,它将不显示任何内容(因为它是空的),因此它看起来不起作用。我会检查适配器中是否有getImage(position)方法或类似的方法。如果没有,可以尝试gridview.getAdapter().getItem(位置);其中一个可能直接获得位图。如果没有看到适配器代码,我真的无法确定。此外,如果这是您问题的解决方案,请将其标记为该解决方案。
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);
}
});