Android 使用Intent在三个类之间传递数据
让我有三个类A、B和C。A使用“intent”作为变量将变量“name”传递给BAndroid 使用Intent在三个类之间传递数据,android,android-intent,Android,Android Intent,让我有三个类A、B和C。A使用“intent”作为变量将变量“name”传递给B Intent intend = new Intent(ViewData.this, MainActivity.class); intend.putExtra("name1", name); ViewData.this.startActivity(intend); B收到“name”作为 Intent intent = getIntent(); Uname = intent.getStringExtra("name
Intent intend = new Intent(ViewData.this, MainActivity.class);
intend.putExtra("name1", name);
ViewData.this.startActivity(intend);
B收到“name”作为
Intent intent = getIntent();
Uname = intent.getStringExtra("name1");
然后B将变量“name”发送给C,并将内容更改为“Ramesh”。
C将更新后的变量“name”发回
因此,类B“name”中变量的值必须是“Ramesh”。
但“名称”显示为空
为什么变量显示为null???
要将变量“name”获取为“Ramesh”,需要采取哪些步骤?首先将数据从A发送到B,如下所示
Intent intend = new Intent(ViewData.this, MainActivity.class);
intend.putExtra("name1", name);
startActivity(intend);
Intent intent = getIntent();
Uname = intent.getStringExtra("name1");
像这样在B接受
Intent intend = new Intent(ViewData.this, MainActivity.class);
intend.putExtra("name1", name);
startActivity(intend);
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
B在oncreate中接收“name”?B是否实际接收到
name1
?另外,A中的名称是什么?它是一个字符串还是一个Uname
对象?@rafid059生命之谜1正在搜索。B没有从C收到名称。。。