使用 for 循环和提示对话框的用户输入显示不同的行为
input from user using for loop and prompt dialogue box shows different behaviour
我使用下面的代码在 android 应用程序中获取用户输入。它运行良好,但我在多次尝试后发现的是。
从 for 循环调用下面的方法以获得不同的值。
代码以相反的顺序接受输入,即它必须为 x 然后是 y 取值。在应用程序上,我被要求输入 y 的值,然后输入 x。
它不等待用户输入它显示对话框,而是保持 运行 整个程序。因为当我输入任何值时,它不会像必须做的那样进行任何更改。
我认为对话框顺序颠倒也是出于同样的原因,第二个对话框与第一个对话框重叠。
除非用户输入任何数据然后继续前进,否则如何让它停止?
此外,当我从代码中的编辑框中删除 final 时,它会给出错误请使用删除视图,因为此 child 已经有一个 parent 等
代码如下
void var_init(String to_match,String[][] temp) {
String t_match=to_match;
//problem in the below line
AlertDialog.Builder builder = new AlertDialog.Builder(RuleEngine.this);
builder.setTitle("Enter Value for"+t_match);
// Set up the input
final EditText input = new EditText(RuleEngine.this);
builder.setView(input);
// Set up the buttons
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
t_replace = input.getText().toString();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();
这是因为对话框在每次迭代时都相互重叠。实际上,x 先出现,但被 y 对话框重叠。 async 行为试图找到其他方法。
您可以从 positive 或 negative 按钮的 OnClick 方法中调用此方法
IE
当用户按下 ok 或 cancel 按钮时,然后检查您的条件是否显示另一个对话框并调用生成对话框的函数。
我使用下面的代码在 android 应用程序中获取用户输入。它运行良好,但我在多次尝试后发现的是。 从 for 循环调用下面的方法以获得不同的值。
代码以相反的顺序接受输入,即它必须为 x 然后是 y 取值。在应用程序上,我被要求输入 y 的值,然后输入 x。
它不等待用户输入它显示对话框,而是保持 运行 整个程序。因为当我输入任何值时,它不会像必须做的那样进行任何更改。
我认为对话框顺序颠倒也是出于同样的原因,第二个对话框与第一个对话框重叠。
除非用户输入任何数据然后继续前进,否则如何让它停止? 此外,当我从代码中的编辑框中删除 final 时,它会给出错误请使用删除视图,因为此 child 已经有一个 parent 等
代码如下
void var_init(String to_match,String[][] temp) {
String t_match=to_match;
//problem in the below line
AlertDialog.Builder builder = new AlertDialog.Builder(RuleEngine.this);
builder.setTitle("Enter Value for"+t_match);
// Set up the input
final EditText input = new EditText(RuleEngine.this);
builder.setView(input);
// Set up the buttons
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
t_replace = input.getText().toString();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();
这是因为对话框在每次迭代时都相互重叠。实际上,x 先出现,但被 y 对话框重叠。 async 行为试图找到其他方法。
您可以从 positive 或 negative 按钮的 OnClick 方法中调用此方法 IE 当用户按下 ok 或 cancel 按钮时,然后检查您的条件是否显示另一个对话框并调用生成对话框的函数。