Я извлекаю Uri из активности (через startActivityForResult), и я хотел бы отображать его в диалоговом окне, но я не могу заставить его работать, я получаю исключение NullPointerException для ImageView, когда Я пытаюсь установить его URI.Android AlertDialog с изображением внутри
Вот что я пытался сделать:
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
final Uri imageUri = imageReturnedIntent.getData();
AlertDialog.Builder adb = new AlertDialog.Builder(this);
LayoutInflater inflater = LayoutInflater.from(this);
final View view = inflater.inflate(R.layout.image_dialog, null);
adb
.setTitle("Confirm picture?")
.setView(view)
.setPositiveButton("Confirm", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dlg, int sumthin) {
uploadDocument(imageUri);
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Do nothing
}
});
AlertDialog dialog = adb.create();
// This fails:
((ImageView) dialog.findViewById(R.id.dialog_imageview)).setImageURI(imageUri);
dialog.show();
}
Вот раскладка:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/dialog_imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
ли я что-то пропустил?
EDIT:
Я также попытался извлечения изображения непосредственно из намерения, как указано в Android документ (https://developer.android.com/training/camera/photobasics.html):
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
mImageView.setImageBitmap(imageBitmap);
Но я получаю результат samre (пустой/пустое пространство) ,
Пробовал уже, она не работает, я просто пустой (белый) пространство вместо картинки: https://t58i.imgup.net/Screenshot3b5f.png –