String address = info.getAddress();
if(address != null && !address.isEmpty())
{
TextView txtSearch = (TextView) getView().findViewById(R.id.text_search);
txtSearch.setText(address);}
大家好,上面是我的activity1类,我查询获取地址并设置文本我怎样才能将activity2类中的另一个textView设置为我从activity1获得的地址结果?提前谢谢。
答案 0 :(得分:0)
在activity1中:
// Create an intent to launch the second activity
Intent intent = new Intent(getBaseContext(), activity2.class);
// Pass the text from the edit text to the second activity
intent.putExtra("address", address);
// Start the second activity
startActivity(intent);
在activity2 onCreate:
// Get the intent that was used to launch this activity
Intent intent = getIntent();
// Get the text that was passed from the main activity
String address= intent.getStringExtra("address");
答案 1 :(得分:0)
您可以根据需要选择不同的方式。 单向使用Intent作为另一个答案中的建议。 在你的第一个Activity中,(这里你可以使用Intent开始你的第二个活动,你发送地址和意图。)
Intent i=new Intent(context,ACTIVITY.class);
i.putExtra("add", ADDRESS);
context.startActivity(i);
第二项活动,
Intent intent = getIntent();
String address= intent.getStringExtra("add");
如果您不需要使用Intent,则可以将数据保存在SharedPreferences的第一个活动中,并可以在第二个活动中检索它。 保存数据
SharedPreferences shared=getSharedPreferences("app_name", Activity.MODE_PRIVATE);
shared.edit().putString("add", "ADDRESS").commit();
获取数据
SharedPreferences shared=getSharedPreferences("app_name", Activity.MODE_PRIVATE);
String add=shared.getString("add", null);
否则,您可以将其保存在缓存中并在第二个活动中获取。
答案 2 :(得分:0)
如果您只在这两个活动之间共享字符串地址,那么最简单的方法是使用带有Intent的putExtra将其作为额外数据发送,如另一个答案中所述。
但是,如果您要在多个活动中使用地址,并且需要它们对所有活动都相同(如果一个活动更改了地址,那么所有活动都会更改),那么您应该考虑使用SharedPreferences。
String address = info.getAddress();
String prefName = "address";
SharedPreferences prefs;
prefs = getSharedPreferences(prefName, MODE_PRIVATE);
prefs.edit().putString(prefName, address).commit();
并检索任何活动中的数据:
SharedPreferences shared = getSharedPreferences(prefName, MODE_PRIVATE);
String address = shared.getString(prefName, null);
如果没有名称为“address”的共享pref,则'null'将被分配给地址,因此您可以测试该值以确保pref已经存在。