Я пытаюсь получить доступ к EditText из метода onClick () в реализации onClickListener для кнопки. вот код:
transmit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//data validation
///////////////////////
boolean valid = true;
if(((EditText)findViewById(R.id.drv_in)).getText().toString() == "") {
TX_FAIL_TEXT = "Missing Driver ID!";
showDialog(DIALOG_FAIL);
TX_FAIL_TEXT = "Transmission Failed!"; //reset the dialog fail text to default
valid = false;
}
Log.e("smsDRVERR",((EditText)findViewById(R.id.drv_in)).getText().toString());
//begin transmission
///////////////////////
if(valid) {
showDialog(DIALOG_TX_PROGRESS);
Thread t = new Thread(txRunnable);
t.start();
} else {
//do things if needed
}
}
});
Log.e никогда не вызывается (не отображается в logcat). и программа выполняется так, как будто условного оператора не существует. Как правильно ссылаться на элементы макета в реализации onClick? я также пробовал следующую строку:
Log.e("smsDRVERR",((EditText)smsActivity.this.findViewById(R.id.drv_in)).getText().toString());
, который упоминался в этом вопросе, который я нашел на SO:
Внутри OnClickListener Я не могу получить доступ ко многим вещам - как подойти?
но это не решает проблему. я упускаю что-то, что мне нужно, чтобы ссылаться на эти элементы внутри этого внутреннего класса, или, возможно, мой синтаксис немного искажен. любая помощь приветствуется.