EditText中的getValue - XAMARIN ANDROID

时间:2017-06-21 09:37:19

标签: c# android xamarin.android

花了这么多时间找到这么简单的东西,最后我必须去这里,需要有人帮助我。

如何从Xamarin的EditText中获取值,因为它始终返回null。

这是我的代码:

Button loginBtn;
EditText username;
EditText password;
string user;
string pass;
   protected override void OnCreate(Bundle savedInstanceState)
        {
            RequestWindowFeature(Android.Views.WindowFeatures.NoTitle);
            base.OnCreate(savedInstanceState);
            // Create your application here
            SetContentView(Resource.Layout.LoginForm);

            loginBtn = FindViewById<Button>(Resource.Id.login);
            username = (EditText)FindViewById(Resource.Id.userName);
            password = (EditText)FindViewById(Resource.Id.password);

            user = username.Text.ToString();
            pass = password.Text.ToString();


            loginBtn.Click += (object sender, EventArgs e) =>
            {

                Toast.MakeText(this, user + " : " + pass, ToastLength.Long).Show();
            };
        }

1 个答案:

答案 0 :(得分:1)

你必须在按钮点击事件中移动你的代码,因为你的editexts是OnCreate方法,它们的值为null,因为OnCreate是第一个被调用的方法(除非你给它们一些值在xml代码中)你永远不会再次调用你的editexts来实际为他们分配用户输入值。所以我认为这将解决您的问题:

loginBtn.Click += (object sender, EventArgs e) =>
        {
            user = username.Text.ToString();
            pass = password.Text.ToString();
            Toast.MakeText(this, user + " : " + pass, ToastLength.Long).Show();
        };