1

我正在使用带有 anImageView和 2的自定义对话框Button

  1. 从图库中选择图像的第一个按钮
  2. 第二个按钮单击来自相机的图像

我想在ImageView对话框中显示图像..

btn1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        Dialog();   
        }

        private void Dialog() {
            // TODO Auto-generated method stub
            final Dialog dialog=new Dialog(editevent1.this);
            dialog.setContentView(R.layout.promote2);
            ImageView image =(ImageView)findViewById(R.id.image_camera);
            Button d=(Button)dialog.findViewById(R.id.button2);
            Button f=(Button)dialog.findViewById(R.id.button3);

            dialog.show();
            d.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Intent intent = new Intent(Intent.ACTION_PICK);
                    intent.setType("image/*");
                    startActivityForResult(intent, 1);


                }
            });
            f.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Intent cameraintent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

                    startActivityForResult(cameraintent, CAMERA_PIC_REQUEST);
                }
            });


            }


});



@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    super.onActivityResult(requestCode, resultCode, data);
    if( requestCode == CAMERA_PIC_REQUEST)
    {   
        Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
        ImageView image =(ImageView)findViewById(R.id.image_camera);
        image.setImageBitmap(thumbnail);
    }
    else 
    {
        Toast.makeText(this, "Picture NOt taken", Toast.LENGTH_LONG);            
    }

}

请告诉我如何获得从图库中选择和从相机中单击时的图像ImageViewDialogBox谢谢

4

2 回答 2

2

我不确定这可以使用 aDialog而不是自定义对话框来完成,而是尝试使用具有UI对话框的 Activity。要将 anActivity用作对话框,您需要在 中定义它AndroidManifest.xml

<activity android:theme="@android:style/Theme.Dialog" />

编辑评论

  1. 如果您使用了我的建议(我们为我们的目的将其命名为ActivityUI ),您不必这样做,因为您可以在.DialogDialogActivityonActivityResultDialogActivity
  2. 如果您没有使用我的建议或使用了它但需要将拍摄的图像传递给另Activity一种方式。要将相机应用程序拍摄的图像从一个Activity传递到另一个,我相信最有效的方法是将Intent作为String该图像的路径传入并访问第二个路径Activity。像这样的东西:

在第一个Activity(调用者Activity)中,我们称它为 A:

Intent i = new Intent(A.this, B.class);
i.putExtra("path", path); //The path is a String variable holding the path where the image was saved.
startActivity(i);

在第二个ActivityActivity被调用)中,我们称它为 B:

String image_path = getIntent().getExtras().getString("path");
Bitmap bitmap = BitmapFactory.decodeFile(image_path);
于 2012-07-11T11:53:18.877 回答
0

我想你再次显示你的对话框。

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    {
        super.onActivityResult(requestCode, resultCode, data);
        if( requestCode == CAMERA_PIC_REQUEST)
        {   
            Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
            ImageView image =(ImageView)findViewById(R.id.image_camera);
            image.setImageBitmap(thumbnail);
            **dialog.show();**


        }
    else 
    {
        Toast.makeText(this, "Picture NOt taken", Toast.LENGTH_LONG);            
    }

}
于 2012-07-11T13:01:50.163 回答