Я сделал функцию taketext (), которая возвращает строковое значение введенного текста в диалоговом окне ввода текста. Ниже приведен код (который, очевидно, неверен). Я хочу, чтобы эта строка возвращалась только при нажатии кнопки «ОК». Если 'if' удалено, то оно всегда возвращает ноль. Этот метод takeText () вызывается другим методом.
private String takeText() {
String text = null;
LayoutInflater inflater = LayoutInflater.from(this);
View addView = inflater.inflate(R.layout.text_tag, null);
final DialogWrapper wrapper = new DialogWrapper(addView);
new AlertDialog.Builder(this)
.setTitle("Enter Text")
.setView(addView)
.setPositiveButton("ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// processAdd(wrapper);
// text = wrapper.getData();
okBClicked = true;
}
})
.setNegativeButton("cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
// ignore, just dismiss
}
}).show();
if (okBClicked)
return wrapper.getData();
else
//???
}