你如何将一个string从一个活动传递给另一个?

我想知道如何传递和阅读从另一个活动在一个活动中的string。 我有两个活动。 我会打电话给他们Activity1和Activity2。 我在Activity1中有一个名为course的string。 我想在Activity2中读取该string。

我试过这样做,但string空出来了。

public class Activity2 extends Activity1 {

我见过人们使用意图function,但我不知道如何使用它。

有什么build议么? 谢谢!

使用意图传递值。

在你的第一个活动

  Intent i= new Intent("com.example.secondActivity"); i.putExtra("key",mystring); // for explicit intents // Intent i= new Intent(ActivityName.this,SecondActivity.class); // parameter 1 is the key // parameter 2 is the value // your value startActivity(i); 

在你的第二个活动检索它。

 Bundle extras = getIntent().getExtras(); if (extras != null) { String value = extras.getString("key"); //get the value based on the key } 

要传递自定义对象,你可以看看这个链接

http://www.technotalkative.com/android-send-object-from-one-activity-to-another-activity/

你的第一个活动Activity1

 public class Activity1 extends Activity { Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity1); btn=(Button) findViewById(R.id.payBtn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent intent=new Intent(Activity1.this,Activity2.class); intent.putExtra("course", "courseValue"); startActivity(intent); } }); } } Activity2 public class Activity2 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity2); String course=getIntent().getExtras().getString("course").toString(); Log.d("course",course); } } 

希望这会帮助你。

你在正确的轨道上 – 你正在使用意图启动第二个活动。 你所要做的就是添加intent.putExtra("title", stringObject); 其中stringObject是要传递的string,title是要给该对象的名称。 您可以使用该名称来引用在第二个活动中传递的对象,如下所示:

 String s = (String)getIntent().getExtras().getSerializable("title"); 

从活动1调用这样的东西:

 Intent intent= new Intent("path.secondActivity"); intent.putExtra("keyString",sampleString); startActiivty(intent); 

在活动2中尝试这样的事情:

 Bundle values = getIntent().getExtras(); if (values != null) { String keyString = values.getString("keyString"); } 

在你的MainActivity中

 Intent i= new Intent(MainActivity.this,SecondActivity.class); i.putExtra("key",yourstring); startActiivty(i); 

在你的第二个活动onCreate()

 Bundle extras = getIntent().getExtras(); if (extras != null) { String value = extras.getString("key"); } 

尝试这个

公共类Activity2扩展了Activity1