如何从一个活动发送string到另一个?

所以我在activity2中有一个string

String message = String.format( "Current Location \n Longitude: %1$s \n Latitude: %2$s", lat, lng); 

我想将这个string插入到activity1的文本字段中。 我怎样才能做到这一点? 先谢谢你。

您可以使用意图,即在活动之间发送的消息。 在一个意图,你可以把所有的数据,string,整型等

在你的情况下,在activity2 ,在去activity2之前,你将以这种方式存储一个String消息:

 Intent intent = new Intent(activity2.this, activity1.class); intent.putExtra("message", message); startActivity(intent); 

activity1onCreate() ,你可以通过检索一个Bundle (包含调用活动发送的所有消息)并调用getString()来获取String消息:

 Bundle bundle = getIntent().getExtras(); String message = bundle.getString("message"); 

然后你可以在TextView设置文本:

 TextView txtView = (TextView) findViewById(R.id.your_resource_textview); txtView.setText(message); 

希望这可以帮助 !

你可以用一个Intent从一个活动向另一个发送数据

 Intent sendStuff = new Intent(this, TargetActivity.class); sendStuff.putExtra(key, stringvalue); startActivity(sendStuff); 

然后,您可以通过获取意图并提取额外的string来在第二个活动中检索此信息。 在onCreate()方法中执行此操作。

 Intent startingIntent = getIntent(); String whatYouSent = startingIntent.getStringExtra(key, value); 

然后,你所要做的就是在你的TextView上调用setText并使用该string。

说你的MainActivity中有EditText et1,你想把它传递给SecondActivity

 String s=et1.getText().toString(); Bundle basket= new Bundle(); basket.putString("abc", s); Intent a=new Intent(MainActivity.this,SecondActivity.class); a.putExtras(basket); startActivity(a); 

现在在第二个活动中,说你想把从EditText et1传递给SecondActivity的TextView txt1的string

 Bundle gt=getIntent().getExtras(); str=gt.getString("abc"); txt1.setText(str); 

意图很激烈 。

Intents对于围绕android框架传递数据非常有用。 您可以与您自己的Activities甚至其他进程沟通。 查看开发者指南,如果你有特定的问题(这是很多消化前面)回来。

您可以使用GNLauncher,它是我在与Activity需要大量交互的情况下编写的实用程序库的一部分。 对于库来说,就像使用所需参数在Activity对象上调用函数一样简单。 https://github.com/noxiouswinter/gnlib_android/wiki#gnlauncher

为了将activity2中的文本插入activity1 ,首先需要在activity2中创build一个访问函数。

 public void visitactivity1() { Intent i = new Intent(this, activity1.class); i.putExtra("key", message); startActivity(i); } 

创build这个函数后,你需要从你的activity2的 onCreate()函数中调用它:

 visitactivity1(); 

接下来,继续阅读activity1 Java文件。 在它的onCreate()函数中,创build一个Bundle对象,通过它的键通过这个对象获取先前的消息,并将其存储在一个String中。

  Bundle b = getIntent().getExtras(); String message = b.getString("key", ""); // the blank String in the second parameter is the default value of this variable. In case the value from previous activity fails to be obtained, the app won't crash: instead, it'll go with the default value of an empty string 

现在把这个元素放在一个TextView或者EditText中,或者你使用setText()函数的布局元素。