让我有三个A,B和C类.A传递变量' name' B使用'打算'如
Intent intend = new Intent(ViewData.this, MainActivity.class);
intend.putExtra("name1", name);
ViewData.this.startActivity(intend);
B收到姓名'如
Intent intent = getIntent();
Uname = intent.getStringExtra("name1");
然后B发送变量' name'到C并将内容更改为" Ramesh"。 C发送更新后的变量' name'回来。
因此B类'名称'中变量的值必须是" Ramesh"。 但是这个名字'显示为null。
为什么变量显示为空? 获取变量' name' as" Ramesh",采取什么措施?
答案 0 :(得分:0)
首先将数据从A发送到B
Intent intend = new Intent(ViewData.this, MainActivity.class);
intend.putExtra("name1", name);
startActivity(intend);
并像B一样收到B
Intent intent = getIntent();
Uname = intent.getStringExtra("name1");
再次传递给C
Intent intend = new Intent(this,"Your c class name.class");
intend.putExtra("name1", Uname);
startActivity(intend);
再次收到C级
Intent intent = getIntent();
Uname = intent.getStringExtra("name1");
更改值或您必须做的任何事情。然后在C
执行此操作 Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);//your changed value here
setResult(Activity.RESULT_OK,returnIntent);
finish();
在班级b上这样做:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == Activity.RESULT_OK){
String result=data.getStringExtra("result");
//you will get the changed data here
}
if (resultCode == Activity.RESULT_CANCELED) {
//Write your code if there's no result
}
}
}//onActivityResult