我找不到错误。我想设置textview的文本。但是,当我设置文本时,我收到一条错误消息(请参见下文)。我做错了什么? 再往下一点,我叫一个按钮。此调用效果很好。调用文本视图并设置其文本时,我在做什么错了?
private void popUp(int layout, int button) {
epicDialog.setContentView(layout);
epicDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
TextView test = (TextView) epicDialog.findViewById(R.id.textView_popup);
test.setText("Hello");
....
Button button;
button= epicDialog.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do something
}
});
}
错误
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
答案 0 :(得分:0)
您忘了在显示文本视图之前显示对话框。
private void popUp(int layout, int button) {
epicDialog.setContentView(layout);
epicDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
epicDialog.show();
TextView test = (TextView) epicDialog.findViewById(R.id.textView_popup);
test.setText("Hello");
....
Button button;
button= epicDialog.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do something
}
});
}
答案 1 :(得分:-1)
我认为您在Java代码中添加了错误的ID。 检查您的xml。
android:id="@+id/textView"