如何从一个活动发送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);
在activity1
的onCreate()
,你可以通过检索一个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()函数的布局元素。