Доступ к EditText.getText (). ToString () внутри другого класса - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть собственный диалог внутри

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, но как это исправить?

1 Ответ

1 голос
/ 30 декабря 2010

Попробуйте сделать имя, адрес и город окончательными:

private static final EditText name, address, city;

Не уверен, что это поможет, но вы можете попробовать.

РЕДАКТИРОВАТЬ: Вам также может потребоваться сделать окончательные finish и cancel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...