具有两个编辑文本的自定义对话框,不接受数字作为输入

时间:2015-08-04 08:50:30

标签: android android-xml

我正在为Dialog创建一个自定义布局以接受用户名和密码。我遇到了一些奇怪的错误,下面的代码是在编辑文本中尝试编写数字而不是字符串时,没有显示任何东西,好像我没有写任何东西,虽然这种情况并非在所有Android手机上都发生。这个案子是在摩托罗拉tc55上。请任何人都可以帮助使用以下代码?

XML:

final Dialog login = new Dialog(this);

        login.setContentView(R.layout.admin_login_dialog);
  final EditText txtUsername = (EditText) login.findViewById(R.id.txtUsername);
        final EditText txtPassword = (EditText) login.findViewById(R.id.txtPassword);
final Button btnLogin = (Button) login.findViewById(R.id.btnLogin);
   btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (txtUsername.getText().toString().trim().length() > 0 && txtPassword.getText().toString().trim().length() > 0) {
                    login.setTitle("Please Wait...");

                    login.hide();
                    pd = new ProgressDialog(MainActivity.this);
                    showPleaseWait(pd);
                    String Language=MainActivitySharedPref.GetValue(MainActivity.activityContextMP.getApplicationContext(), "Language");
                    if(Language.equals("ar")){Language="A";}else{Language="L";}
                    AdminAuthenticationChecker(login, txtUsername.getText().toString().trim(), txtPassword.getText().toString().trim(), Language);
                    //CheckAdminLoginLocally(txtPassword.getText().toString().trim(), txtUsername.getText().toString().trim(), login, pd);
                } else {
                    Toast.makeText(MainActivity.this, "Please enter Username and Password", Toast.LENGTH_LONG).show();
                }
            }
        });
        login.setOnKeyListener(new DialogInterface.OnKeyListener() {
            @Override
            public boolean onKey(DialogInterface dialog,
                                 int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_BACK) {
                    login.dismiss();
                }
                return true;
            }
        });
        login.setCanceledOnTouchOutside(true);

        login.show();

活动:

{{1}}

1 个答案:

答案 0 :(得分:0)

我将上面的代码更改为AlertDialog,然后就可以了。