Android 使用Intent在三个类之间传递数据

Android 使用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

让我有三个类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("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收到名称。。。