我是新手,但我正在尝试接受用户输入(即userName),然后通过textView将其显示在不同的活动中(即显示屏将显示“它是'userName'的移动”)。
我不确定我是否可以通过将用户输入分配给java文件中的字符串,然后按照我的意图传递数据或者是否必须使用某种形式的存储来实现此目的。
无论哪种方式,我仍然对如何将其恢复到要显示的.xml文件中的字符串感到困惑。
任何帮助将不胜感激:) 欢呼声
答案 0 :(得分:1)
正如评论中指出的那样,你应该理解一个意图是什么。你可以阅读它们here。作为一个非常简单的例子:
Intent launchNewActivity = new Intent(this, NewActivity.class);
launchNewActivity.putExtra("Some key", "Some value"); //sometimes you want to pass extra data
startActivity(launchNewActivity);
另外,理解strings.xml的使用也很好,explained here。基本上,它用于定义不会硬编码的常量,您可以调用代码。它们可以帮助您保持代码的有序性,还有助于轻松地将应用程序翻译成其他语言。同样,一个简单的例子如下所示:
<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>
答案 1 :(得分: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", "");
就这么简单。希望你明白了。