我尝试做的是当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 错误。
感谢您提供任何帮助
答案 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}}