全局EditText变量

时间:2011-11-28 00:04:22

标签: java android

我正在编写我的第一个Android应用程序,我有一个EditText对象,我希望在整个程序中读取(多个活动)。我想在一个屏幕/活动/布局上接受用户的名字,并在其他几个屏幕上阅读它来操作或显示它,所以我发现字符串需要是公共的和静态的,并且应该有一个我的全局变量的类。这样做的正确方法是什么?我尝试过使用bundle和其他几种方法,但似乎都没有。

2 个答案:

答案 0 :(得分:2)

你绝对应该通过意图传递这个值。

        Intent intent = new Intent(getApplicationContext(),NEXTCLASS.class);
        intent.putExtra("username",mEditText1.getText().toString());
        startActivity(intent);

然后在下一节课

中接收它
        Bundle extras = intent.getExtras();
        mEditText1.setText(extras.getString("username"))

您也可以使用共享首选项,但我认为这对您的情况来说是不必要的,因为您不需要在应用关闭时保留用户名。

更新

使用共享的首字母..

    SharedPreferences sharedPreferences = getSharedPreferences("myprefs", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString("username", myusername);

从共享首页中读取...

    SharedPreferences sharedPreferences = getSharedPreferences("myprefs", MODE_PRIVATE);
    String username = sharedPreferences.getString("username", "");

使用静态属性

的示例
public class utility {
    public static String USERNAME = "username";
}

要调用,您不需要实例化该类,只需从需要它的每个类中执行此操作

String username = sharedPreferences.getString(utility.USERNAME, "")

答案 1 :(得分:1)

您可以使用SharedPreferences存储该值。阅读更多here