0

我是新手,但我试图接受用户输入(即用户名),然后通过 textView 将其显示在不同的活动中(即显示将显示“这是'用户名的移动”)。

我不确定是否可以通过将用户输入分配给 java 文件中的字符串,然后按照我的意图传递数据,或者我是否必须使用某种形式的存储来做到这一点。

无论哪种方式,我仍然对如何将其返回到要显示的 .xml 文件中的字符串感到困惑。

任何帮助将不胜感激:) 干杯

4

2 回答 2

1

我认为最好的方法是使用共享首选项。它正是为了这样的事情。这就是你的做法:

SharedPreferences prefs = getSharedPreferences("prefs", 0); 
SharedPreferences.Editor editor prefs.edit();

现在,每次你想改变你所做的字符串时:

editor.putString("user_name", "jon").commit();

“user_name”是字符串的名称,“jon”是内容。所以你可以像这样保存名字和姓氏:

editor.putString("user_name", "jon")
editor.putString("last_name", "dow").commit();

不要忘记把“commit()”放在最后。每次你想得到你可以使用的字符串时:

String Name = prefs.getString("user_name", "");
String LastName = prefs.getString("last_name", "");

这样做的好处是它被保存了。因此,下次用户打开应用程序时,您仍然可以获取字符串,而无需再次使用它来让用户再次输入:

String Name = prefs.getString("user_name", "");
String LastName = prefs.getString("last_name", "");

就这么简单。希望你明白了。

于 2012-11-08T05:08:35.900 回答
1

正如评论中指出的那样,您应该了解 Intent 是什么。您可以在此处阅读有关它们的信息。作为一个非常简短的例子:

Intent launchNewActivity = new Intent(this, NewActivity.class);
launchNewActivity.putExtra("Some key", "Some value"); //sometimes you want to pass extra data
startActivity(launchNewActivity);

此外,了解 strings.xml 的使用也很好,如此处所述。基本上,它用于定义不会被硬编码的常量,您可以在代码中调用。它们可以帮助您保持代码井井有条,还可以帮助您轻松地将应用程序翻译成其他语言。同样,一个简单的例子如下所示:

<resources>

    <string name="OK">OK</string>
    <string name="cancel">Cancel</string>

    <!-- Validation error messages for EditText -->
    <string name="editText_validation_error_empty_field">The field cannot be empty.</string>
    <string name="editText_validation_error_numbers_only">Only numbers are allowed on this field.</string>
</resources>
于 2012-11-08T04:43:05.577 回答