How do you pass a string from one activity to another?
本问题已经有最佳答案,请猛点这里访问。
我想知道如何传递和读取来自另一个活动的一个活动中的字符串。 我有两个活动。 我将它们称为Activity1和Activity2。 我在Activity1中有一个名为
我试过这样做,但字符串出来了。
我见过人们使用Intent函数,但我无法弄清楚如何使用它。
有什么建议? 谢谢!
使用意图传递值。
在你的第一个活动中
1 2 3 4 5 6 7 8 | 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); |
在您的第二个活动中检索它。
1 2 3 4 5 | Bundle extras = getIntent().getExtras(); if (extras != null) { String value = extras.getString("key"); //get the value based on the key } |
要传递自定义对象,您可以查看此链接
Android – Send object from one activity to another Activity using Intent
你的第一个活动,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 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); } } |
希望这会帮助你。
在您的MainActivity中
1 2 3 | Intent i= new Intent(MainActivity.this,SecondActivity.class); i.putExtra("key",yourstring); startActiivty(i); |
在你的第二个活动onCreate()
1 2 3 4 | Bundle extras = getIntent().getExtras(); if (extras != null) { String value = extras.getString("key"); } |
从活动1调用这样的事情:
1 2 3 | Intent intent= new Intent("path.secondActivity"); intent.putExtra("keyString",sampleString); startActiivty(intent); |
并在活动2尝试这样的事情:
1 2 3 4 | Bundle values = getIntent().getExtras(); if (values != null) { String keyString = values.getString("keyString"); } |
你走在正确的轨道上 - 你正在使用意图启动第二项活动。您所要做的就是添加
试试这个
公共类Activity2扩展了Activity1