如何将文本设置为我从其他活动获得的结果

时间:2014-06-11 02:00:09

标签: android

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获得的地址结果?提前谢谢。

3 个答案:

答案 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已经存在。