在 Xamarin.Android 中,如何禁用 EditText 的登录按钮?

问题描述

我正在研究如何将 C# 上的 this funcionality 转换为 Android Xamarin。只有当用户输入他的用户名和密码时才启用登录按钮。否则,按钮应该被禁用。

我的 C# 代码不起作用

            String edit_user_001 = (String) FindViewById<EditText>(Resource.Id.id_edit_user_001);
            String edit_password_001 = (String) FindViewById<EditText>(Resource.Id.id_edit_password_001);
            Button btn_login_001 = FindViewById<Button>(Resource.Id.id_btn_login_001);

            if (edit_user_001.Equals("") || edit_user_001.Equals("")){
                btn_login_001.Enabled = false;
            } else {
                User user = new User(edit_user_001,edit_user_001);
                btn_login_001.Enabled = true;
                btn_login_001.Click += (sender,e) => {
                    login(user);
                };
            }

有人知道我做错了什么吗?

解决方法

您正在尝试将 EditText 控件强制转换为 string,这将不起作用

String edit_user_001 = (String) FindViewById<EditText>(Resource.Id.id_edit_user_001);

代替

EditText edit_user_001 = FindViewById<EditText>(Resource.Id.id_edit_user_001);

然后使用它的 Text 属性访问字符串值

if (edit_user_001.Text.Equals("") || edit_user_001.Text.Equals(""))