У меня есть пользовательский диалог внутридоступа EditText.getText(). ToString() внутри какого-нибудь другого класса
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;
}
Ошибка obivusly здесь
if (v == finish) {
Partner.addNewPartner(mainContext, name.getText().toString(), address.getText().toString(), city.getText().toString());
}
, потому что он говорит NullPointerException, но как это исправить?
Что такое «Партнер»? – Falmarri
только некоторые вспомогательные классы. все, что имеет значение, - это аргументы (Context, String, String, String). Если я заменил этот последний фрагмент кода на «Partner.addNewPartner (mainContext,« ABC »,« ABCD »,« ABCDE »); все работает отлично. – svenkapudija