В своем коде Android я раздуваю графический интерфейс и сохраняю все подэлементы в другом классе. В этом классе я хочу добавить метод для чтения пользовательского ввода. Я пытался следовать чему-то вроде этой ссылки , но что бы я ни делал, все сводится к копированию конечного значения в не конечное значение. Я думал о создании другого графического интерфейса, но не смог найти способ сделать это. Вот метод, который я имею сейчас:
private String setText(int id){
AlertDialog.Builder alert = new AlertDialog.Builder(this.show);
final EditText input = new EditText(this.show);
alert.setView(input);
String out;
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
//@Override
public void onClick(DialogInterface dialog, int which) {
Editable value = input.getText();
out = value.toString();
// TODO Auto-generated method stub
}
});
}
}
, который я использую для возврата строки в другой метод, который устанавливает значение TextView
.
Я пытался сделать следующий трюк:
private String setText(){
AlertDialog.Builder alert = new AlertDialog.Builder(this.show);
final EditText input = new EditText(this.show);
alert.setView(input);
String out;
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
input.setText("canceled");
}
});
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alert.show();
String toSend = input.getText().toString();
this.maxT.setText(toSend);
return toSend;
maxT
- это поле TextView
. Приложение просто поместит пустую строку. Я полагаю, что должен подождать, пока AlertDialog
не закроется, я ищу способ сделать это.