Пользовательский диалог на Mono для Android - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть этот код, но он возвращает мне ошибку в зависимости от того, какой Resource.id ....

/Login Customize dialog
        dialog = new Dialog(this);
        dialog.SetContentView(Resource.Layout.login);
        dialog.SetTitle("Sign in to CdcSoftware App"); 
        dialog.SetCancelable(true);
          //Ok
          Button btnLogin = FindViewById<Button>(Resource.Id.btnLoginOK);
          EditText txtUserName = FindViewById<EditText>(Resource.Id.txtUser);
          TextView txtPassword = FindViewById<TextView>(Resource.Id.txtPassword);
          //Cancel
          Button btnCancel = FindViewById<Button>(Resource.Id.btnLoginCancel); 

          dialog.Show();

            btnLogin.Click += delegate {Login(txtUserName, txtPassword);}; 
            btnCancel.Click += delegate {Cancel();};

private void Login(EditText txtUserName, TextView txtPassword){

        Intent intent = Intent;
        string user = intent.GetStringExtra(txtUserName.ToString());
        string password = intent.GetStringExtra(txtPassword.ToString());

        var userObject  = customers.FirstOrDefault(c => c.CustomerNumber.ToString() == user);
        if (userObject != null)
        {
            Toast.MakeText(this, "User Id doesnt exist", ToastLength.Short).Show(); 
        }
        if(userObject.CustomerNumber.ToString().ToLower() == user && userObject.CustomerName.ToString().ToLower() == password)
        {
            Toast.MakeText(this, "Log in Successfully", ToastLength.Short).Show();       
        } 
        else 
        {
            Toast.MakeText(this, "User Id or Password is Incorrect", ToastLength.Short).Show(); 
        }

    }

Как я могу это исправить и как взаимодействовать с этим пользовательским диалоговым виджетом с основным классом.

1 Ответ

2 голосов
/ 23 ноября 2011

Я думаю, вы хотите:

Button btnLogin = dialog.FindViewById<Button>(Resource.Id.btnLoginOK);

вместо:

Button btnLogin = FindViewById<Button>(Resource.Id.btnLoginOK);
...