Android - 尝试使用ImageView代码制作Dialog

时间:2014-03-20 20:32:47

标签: android android-imageview android-alertdialog

我尝试做的是当Imageview项目被预先播放时,会打开一个Dialog并大规模显示该内容。

现在首先是对话框的XML布局 -

    <?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/imageView_large_pic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/bkgnd_pressed" />

</LinearLayout>

现在Dialog的代码如下 -

Dialog settingsDialog = new Dialog(MainChat.this);

settingsDialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);

 settingsDialog.setContentView(getLayoutInflater().inflate(R.layout.image_large
          , null));

ImageView ivLarge = (ImageView) findViewById(R.id.imageView_large_pic);

String pathpic = v.getTag().toString();

ivLarge.setImageURI(Uri.parse(pathpic));

settingsDialog.show();

现在我试图对这段代码进行调整,但它仍然停留在这一行 - ivLarge.setImageURI(Uri.parse(pathpic));

logcat告诉我这是 java.lang.NullPointerException 错误。

感谢您提供任何帮助

1 个答案:

答案 0 :(得分:2)

您正在寻找ImageView

的错误位置
ImageView ivLarge = (ImageView) findViewById(R.id.imageView_large_pic);

正在layout中查看您setContentView()中的Dialog。相反,您需要查看ImageView ivLarge = (ImageView) settingsDialog .findViewById(R.id.imageView_large_pic); 的布局。尝试改为

{{1}}