Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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中显示位图_Android_String_Bitmap_Imageview_Uri - Fatal编程技术网

Android 从字符串在ImageView中显示位图

Android 从字符串在ImageView中显示位图,android,string,bitmap,imageview,uri,Android,String,Bitmap,Imageview,Uri,我想显示在先前的活动中从图库中选取的图像,以便将来显示为位图,这样我就能够旋转它和类似的东西。我想将位图显示为全图,大小由我决定(例如128x128)。我不知道如何从字符串中获取位图。当我想这样做的时候,它说不存在这样的文件。还有其他更好的办法吗? 挖掘当前代码,该代码可以正常工作(显示正确),但仍然不是位图,如下所示。 来自MainActivity(第一个活动): 下一个活动(第二个活动): 我想您正在查找BitmapFactory.decode文件: 它将获取路径(您可能需要将file:/

我想显示在先前的活动中从图库中选取的图像,以便将来显示为位图,这样我就能够旋转它和类似的东西。我想将位图显示为全图,大小由我决定(例如128x128)。我不知道如何从字符串中获取位图。当我想这样做的时候,它说不存在这样的文件。还有其他更好的办法吗? 挖掘当前代码,该代码可以正常工作(显示正确),但仍然不是位图,如下所示。 来自MainActivity(第一个活动):

下一个活动(第二个活动):


我想您正在查找BitmapFactory.decode文件:


它将获取路径(您可能需要将file://从Uri中剥离,或者只获取Uri的路径部分,而不是将其额外串入字符串)并返回位图。

如何实现它?你能举个例子吗?
@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Button browse = (Button) findViewById(R.id.browse);

    browse.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent picker = new Intent();
            picker.setType("image/*");
            picker.setAction(Intent.ACTION_PICK);
            startActivityForResult(picker, SELECT_PICTURE);
        }
    });
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

    Uri selectedImage = null;

    if (resultCode == RESULT_OK) {
        if (requestCode == SELECT_PICTURE) {
            selectedImage = Uri.parse(data.getDataString());
            Intent pickerResult = new Intent(MainActivity.this, EditActivity.class);
            pickerResult.putExtra("IMAGE", selectedImage.toString());
            startActivity(pickerResult);
        }
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_edit);

    imageView = (ImageView) findViewById(R.id.imageView);

    if (getIntent().hasExtra("IMAGE")) {
        String pickedImage = getIntent().getStringExtra("IMAGE");
        imageView.setImageURI(Uri.parse(pickedImage));
    }