2010-06-03 110 views

回答

55

在你当前活动,创建一个意图

Intent i = new Intent(getApplicationContext(), ActivityB.class); 
i.putExtra(key, value); 
startActivity(i); 

然后在其他活动中,检索这些值。

Bundle extras = getIntent().getExtras(); 
if(extras !=null) { 
    String value = extras.getString(key); 
} 
+1

这是每个人都这样做的吗? – dotty 2011-07-28 09:19:32

+4

从现在开始是的 – Nipuna 2011-08-04 01:47:09

+0

我目前没有足够的代表投票给它,但值得注意的是,虽然这在某些情况下会起作用,但它不是唯一的方法,并不总是最好,最简单,最快或最有效的。 埃姆雷的答案(幸运地被选为正确的答案,尽管票数差异很大)链接到各种方法,您可以从中选择最适合您的应用程序的解决方案。 – 2012-08-11 14:47:41

1

使用全局类:

public class GlobalClass extends Application 
{ 
    private float vitamin_a; 


    public float getVitaminA() { 
     return vitamin_a; 
    } 

    public void setVitaminA(float vitamin_a) { 
     this.vitamin_a = vitamin_a; 
    } 
} 

可以调用setter和这个类的干将从所有其他类。 不要做到这一点,你需要做一个GlobalClass-对象在每个Actitity:

GlobalClass gc = (GlobalClass) getApplication(); 

然后就可以调用例如:

gc.getVitaminA() 
0

在您的辅助活动将这个

SharedPreferences preferences =getApplicationContext().getSharedPreferences("name", MainActivity.MODE_PRIVATE); 

android.content.SharedPreferences.Editor editor = preferences.edit(); 

editor.putString("name", "Wally"); 
      editor.commit(); 

将此放入您的MainActivity

SharedPreferences preferences = getApplicationContext().getSharedPreferences("name", MainActivity.MODE_PRIVATE); 

if(preferences.contains("name")){ 

Toast.makeText(getApplicationContext(), preferences.getString("name", "null"), Toast.LENGTH_LONG).show(); 

} 
相关问题