从活动c#传递输入值

时间:2014-07-31 06:57:19

标签: c# android xamarin

我试图将用户输入文本从activity1传递给activity2。 我尝试了很多东西,但所有的事情都给了我这个错误, 这是我在尝试将值放入textview时得到的错误。

https://www.dropbox.com/s/cpsbflk4r1ep46x/error.PNG

//this is the first activity 

        SetContentView(Resource.Layout.Main);
        base.OnCreate(bundle);
        TextView t1 = FindViewById<TextView>(Resource.Id.t1);

        long l = 1;

        ImageButton i1 = FindViewById<ImageButton>(Resource.Id.i1);

        i1.Click += delegate
        {

            t1.Text = l++.ToString();
        };

        Button b1 = FindViewById<Button>(Resource.Id.b1);
        b1.Click += (sender, e) =>
        {
            string b = t1.Text;
            Intent intent = new Intent(this, typeof(Activity2));
            intent.PutExtra("j", b);
            StartActivity(intent);
        };

//this is the second activity

        TextView money = FindViewById<TextView>(Resource.Id.money);

        SetContentView(Resource.Layout.layout1);
        var l = this.Intent.Extras.GetString("j");

        money.Text = l;

感谢,

2 个答案:

答案 0 :(得分:0)

您可以使用getStringExtra(QUERY)方法获取字符串:

var l = Intent.getStringExtra("j");

如果你得到null并且你正在使用getStringExtra(QUERY)。在您的PutExtra中使用的变量中添加.toString()。在你的情况下,这不是必要的。

答案 1 :(得分:0)

试试这个:

关于主要活动

var activity2 = new Intent (this, typeof(next_activity));
                activity2.PutExtra ("value",i);
                StartActivity (activity2);  

关于next_activity

  var Passed_value  = Intent.GetStringExtra ("value",0);
    // for int use: Intent.GetIntExtra

也可以尝试更改

t1.Text = l++.ToString();

t1.Text = l++;

string b = t1.Text;

string b = t1.Text.ToString();