我在
中有一个自定义对话框public class NewPartnerDialog extends Dialog implements OnClickListener
我从其他课程(活动)中调用它
private void showCustomDialog() {
NewPartnerDialog customDialog = new NewPartnerDialog(this);
customDialog.show();
}
它有效(它确实显示),但我有一点问题。在其中我有3个EditText字段。我怎样才能恢复那些打字的价值并将它们传递给其他一些班级建设者。这是代码。
public class NewPartnerDialog extends Dialog implements OnClickListener {
public NewPartnerDialog(Context context) {
super(context);
mainContext = context;
setContentView(R.layout.dialog_new_partner);
setTitle("Dialog");
finish = (Button) findViewById(R.id.finish);
cancel = (Button) findViewById(R.id.finish);
finish.setOnClickListener(this);
cancel.setOnClickListener(this);
name = (EditText) findViewById(R.id.name);
address = (EditText) findViewById(R.id.address);
city = (EditText) findViewById(R.id.city);
}
@Override
public void onClick(View v) {
if (v == finish) {
Partner.addNewPartner(mainContext, name.getText().toString(), address.getText().toString(), city.getText().toString());
} else if (v == cancel) {
dismiss();
}
}
private static EditText name;
private static EditText address;
private static EditText city;
private static Context mainContext;
private Button finish;
private Button cancel;
}
这里的错误很明显
if (v == finish) {
Partner.addNewPartner(mainContext, name.getText().toString(), address.getText().toString(), city.getText().toString());
}
因为它说NullPointerException但是如何修复它?
答案 0 :(得分:1)
尝试制作姓名,地址和城市决赛:
private static final EditText name, address, city;
不确定是否能解决问题,但您可以尝试。
编辑:您可能还需要将finish
和cancel
设为最终版。