我试图将用户输入文本从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;
感谢,
答案 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();