Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何通过单击imageview从gallery加载图像_Android_Layout_Android Imageview_Textview - Fatal编程技术网

Android 如何通过单击imageview从gallery加载图像

Android 如何通过单击imageview从gallery加载图像,android,layout,android-imageview,textview,Android,Layout,Android Imageview,Textview,我的活动中有一个图像视图…我想在图像视图上放置一个文本视图(“单击以加载图像”)。当用户单击空图像视图时,他可以从该视图中选择要加载到图像视图上的图片 我们如何才能做到这一点???试试这段代码 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Pick Image from") .setPositiveButton("Camera", new Dialo

我的活动中有一个图像视图…我想在图像视图上放置一个文本视图(“单击以加载图像”)。当用户单击空图像视图时,他可以从该视图中选择要加载到图像视图上的图片

我们如何才能做到这一点???

试试这段代码

AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Pick Image from")
            .setPositiveButton("Camera", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    //camera intent
                    Intent cameraIntent = new Intent(ConversationActivity.this, CameraActivity.class);
                    cameraIntent.putExtra("EXTRA_CONTACT_JID", contact.getJid());
                    startActivity(cameraIntent);
                }
            })
            .setNegativeButton("Gallery", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Intent intent = new Intent();
                    // Show only images, no videos or anything else
                    intent.setType("image/*");
                    intent.setAction(Intent.ACTION_GET_CONTENT);
                    // Always show the chooser (if there are multiple options available)
                    startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
                }
            });
    AlertDialog alert = builder.create();
    alert.show();
public class ImageGalleryActivity extends Activity {
    ImageView imageView;
    private static int RESULT_LOAD_IMAGE = 1;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        imageView = (ImageView) findViewById(R.id.ImageViewId);
        TextView LoadImage = (TextView) findViewById(R.id.TextViewId);
        LoadImage.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Intent loadIntent = new Intent(Intent.ACTION_PICK,  
                 android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

                startActivityForResult(loadIntent, RESULT_LOAD_IMAGE);
            }
        });
    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };

            Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String picturePath = cursor.getString(columnIndex);
            cursor.close();

            imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
        }
    }
}