java - 全局 EditText 变量

标签 java android

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

最佳答案

您绝对应该通过 Intent 传递这个值。

        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, "")

关于java - 全局 EditText 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8290151/

相关文章:

java - XMLParser 正在吃掉我的空格

java - Android:将位图从 Parse 分配给 ImageView 时卡住了

android - 将自定义对象数组保存到共享首选项

java - 读取输入文件后如何操作输出文件?

java - JPA 选择多个字段

javascript - 在jsp页面的javascript代码中检索cookie

android - LinearLayout@422725b0 不是滑动抽屉

android 完成尚未停用或关闭的游标

Android: View 层次结构中的重复 ID

java - Android - 将修饰符更改为静态?