我已经扩展了Dialog来创建一个带有edittext的弹出窗口。我的计划是在我的代码中的几个地方使用此弹出窗口。我想在从打开的类打开弹出窗口时设置edittext
我遇到的麻烦是settext方法提供了一个nullpointer
public class RoundCommentDialog extends Dialog implements View.OnClickListener {
private Context context;
private String roundCommentText;
private EditText roundCommentEditText;
private Button postiveButton;
private Button negativeButton;
public RoundCommentDialog(Context context) {
super(context);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_round_comment_dialog);
postiveButton = (Button) findViewById(R.id.dialog_positive_button);
postiveButton.setOnClickListener (this);
negativeButton = (Button) findViewById(R.id.dialog_negative_button);
negativeButton.setOnClickListener (this);
roundCommentEditText = (EditText) findViewById(R.id.comment_text);
}
public void setRoundCommentText(String roundCommentText) {
this.roundCommentText = roundCommentText;
}
public String getRoundCommentText() {
return roundCommentEditText.getText().toString();
}
public void updateCommentEditField() {
roundCommentEditText.setText("TEST");
}
public Dialog getDialog() {
updateCommentEditField();
return this;
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.dialog_positive_button:
setRoundCommentText(roundCommentText);
dismiss();
break;
case R.id.dialog_negative_button:
cancel();
break;
}
}
}
从我调用它的类我创建该类的新版本,然后调用setRoundComment(test)方法然后调用show方法。这给出了一个nullpointer
感谢您的时间
EDITTED
Baisiclly我在主班上打电话给上面的班级
RoundCommentDialog myDialog = new RoundCommentDialog(this);
然后我在Button Listenerer上执行以下操作
myDialog.setRoundCommentText(roundComentText);
myDialog.getDialog().show();
当我在调用GetDialog()并且在对话框类中出现错误时出错,它在以下行中出错
roundCommentEditText.setText("TEST");
答案 0 :(得分:0)
尝试更改
private String roundCommentText;
到
public String roundCommentText;
我不是字符串专家,但这是我首先尝试的