如何在图像视图中显示图像,从gridview中选择.GridView位于警报框中

时间:2011-10-11 17:05:27

标签: android

我正在开展一项活动,其中包含一个可点击的图片视图(标题为“选择你的图片”)。有些事情是这样的:

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;   
    }

我可以点击这些图片。

问题:
我想从这些图像中选择一个并将其设置在用户点击的图像视图中。 任何暗示! 谢谢!

1 个答案:

答案 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是如何工作的。