将字符串从活动复制到另一个Android

时间:2014-02-05 17:28:39

标签: android variables android-activity global

在开始的时候,我想对我的坏英语说抱歉,希望你能理解我。 我想将一个字符串复制到另一个活动,所以我创建:

package com.example.kliker;

import android.app.Application;


public class GlobalClass extends Application{

    private String name;
    private String email;


    public String getName() {

        return name;
    }

    public void setName(String aName) {

       name = aName;

    }

    public String getEmail() {

        return email;
    }

    public void setEmail(String aEmail) {

      email = aEmail;
    }

}

以及设置我使用的活动:

final GlobalClass globalVariable = (GlobalClass) getApplicationContext();
globalVariable.setEmail("1");
globalVariable.setName("1");

当我想要的时候:

final GlobalClass globalVariable = (GlobalClass) getApplicationContext();
a = globalVariable.getEmail();
b = globalVariable.getName();
mTextView.setText(a);

但它不起作用?我应该刷新活动或类似的东西吗?

http://speedy.sh/dvt94/Desktop.rar 清单,来自我获取和设置的活动,活动设置,活动获得

我想做一个关于类别和食物的活动的海外数据我也想在我们进入时做另一项活动,当我们点击食物时,它会发送关于自身类别和所选食物的信息,主要活动下载该信息和通过他们建立图形句子

3 个答案:

答案 0 :(得分:0)

您要两次实例化GlobalClass类,以便获得不同的变量。在相同的活动中尝试这样的事情,看看它是否有效。

final GlobalClass globalVariable = (GlobalClass) getApplicationContext();
globalVariable.setEmail("1");
globalVariable.setName("1");

a = globalVariable.getEmail();
b = globalVariable.getName();
mTextView.setText(a);

答案 1 :(得分:0)

使用Bundle API - http://developer.android.com/reference/android/os/Bundle.html

在你的A活动中 -

Intent intent = new Intent(A.this, B.class);
Bundle bundle = new Bundle();
bundle.putString("value", "String Value");
intent.putExtras(bundle);
startActivity(intent);

而且,在B活动中 -

Intent i = getIntent();
Bundle extras = i.getExtras();
String value = extras.getString("value");

您会对此http://hmkcode.com/android-passing-data-to-another-activities/

感兴趣

答案 2 :(得分:0)

我至少可以想到三个不错的选择:

1)使用单例(优点 - 简单;缺点 - 不会在应用程序生命周期内持续存在)。

2)使用SharedPreferences(易于研究);如果您真的将它用于应用程序的用户名(这是示例中显示的内容),那么SharedPreferences是合适的。

3)使用Intent从当前活动中触发下一个活动,并将该字符串作为附加活动传递(intent.putExtra(...),intent.getStringExtra(...))。