我有一个带有EditText的警告框 它没有通过" if"当我尝试将它与用户输入进行比较时。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Number of players: ");
final EditText input = new EditText(this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
alert.show();
它不能从这里开始工作:
String newString = input.getText().toString();
if(newString.equals("2"))
{
System.out.print("lol");
}
感谢您的帮助!
答案 0 :(得分:1)
您必须将第二个列表的代码放在其中一个按钮的OnClickListener
中(我猜您希望在按下确定按钮后执行它):
...
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String newString = input.getText().toString();
if(newString.equals("2")) {
System.out.print("lol");
}
}
});
...
显示对话框后,您不能指望立即获得用户输入。用户根本没有时间输入任何内容。
答案 1 :(得分:0)
我确信if
工作正常,你只是看不到它。在Android应用程序中使用System.out.print();
是不可取的,因为没有输出到的控制台。请改用 Logcat 。