Android 如何实现一系列文本输入对话框?
我正在创建一个android应用程序,我想有一个功能,创建两个文本输入对话框一个接一个,然后执行基于值的操作。由于android中的所有操作都是异步完成的,因此我提出了以下方法:Android 如何实现一系列文本输入对话框?,android,input,dialog,control-flow,Android,Input,Dialog,Control Flow,我正在创建一个android应用程序,我想有一个功能,创建两个文本输入对话框一个接一个,然后执行基于值的操作。由于android中的所有操作都是异步完成的,因此我提出了以下方法: private void doOperation() { final EditText input = new EditText(this); showInput("Title", "Enter param1:", input, new DialogInterface.OnClickListener()
private void doOperation() {
final EditText input = new EditText(this);
showInput("Title", "Enter param1:", input, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
doOperation2(input.getText().toString());
}
});
}
private void doOperation2(String param1) {
if(/* Some condition on param1. */)
return;
final EditText input = new EditText(this);
showInput("Title", "Enter param2:", input, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
doOperation3(param1, input.getText().toString());
}
});
}
private void doOperation3(String param1, String param2) {
actuallyDoOperation();
}
private void showInput(String title, String message, final EditText input, DialogInterface.OnClickListener positiveActionListener) {
AlertDialog alert = new AlertDialog.Builder(this).create();
alert.setTitle(title);
alert.setMessage(message);
input.setInputType(InputType.TYPE_CLASS_TEXT);
alert.setView(input);
alert.setButton(AlertDialog.BUTTON_POSITIVE, getString(R.string.ok), positiveActionListener);
alert.setButton(AlertDialog.BUTTON_NEGATIVE, getString(R.string.cancel), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert.show();
}
这看起来有点混乱,有更好/更好/更干净/更正确的方法吗?为什么需要使用两个对话框
doOperation2(…)
实际上不会根据doOperation1(…)
的返回值有条件地执行任何操作。为什么不在一个对话框中同时显示两个TextView
s?对不起,我遗漏了不完全相关的代码,它们已经更新。我在显示第二个对话框之前检查第一个参数。