有人可以帮我吗?向我解释为什么这段代码是“java.lang.NullPointerException”错误。
final ImageButton sampleImageButton = (ImageButton) findViewById(R.id.btn_sample);
final Dialog dd_dialog = new Dialog(MainActivity.this);
dd_dialog.setContentView(R.layout.Sample_layout);
dd_dialog.setTitle("Sample");
dd_dialog.setCancelable(true);
sampleImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dd_dialog.show();
}
});
这是xml
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn_sample"
android:text="Sample"
android:background="#4372AA"
android:layout_marginRight="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="#FFFFFF"
android:layout_marginTop="30dp"/>
答案 0 :(得分:1)
问题在于你在xml布局中使用了按钮,在java文件中你声明了ImageButton,所以从ImageButton更改为Button。
从
更改此行final ImageButton sampleImageButton = (ImageButton) findViewById(R.id.btn_sample);
要
final Button sampleImageButton = (Button) findViewById(R.id.btn_sample);
答案 1 :(得分:0)
在使用setContentView
findViewById
设置活动视图
希望这有帮助。
答案 2 :(得分:0)
可能这一定是纠正:
final ImageButton sampleImageButton = (ImageButton) dd_dialog.findViewById(R.id.btn_sample);
在
下面加上这个final Dialog dd_dialog = new Dialog(MainActivity.this);
dd_dialog.setContentView(R.layout.Sample_layout);