我有
aTextView.setText("Days\n" + getClassDays());
但是,我听说使用 strings.xml 是正确的做法。但如果是这样,这就是我如何找到最好的方法
strings.xml
<string name="course_days"><b>Days\n</b>%1$s</string>
我的 Activity
aTextView.setText(String.format(_context.getString(R.string.course_days), getClassDays()));
如您所见,它又长又丑。我是否缺少更简单的解决方案或其他什么?
最佳答案
当你使用 string.xml 时有很多原因......
- 避免重复:
为了拥有一个结构良好的应用程序,您不需要为不同的屏幕重复使用字符串,假设您有 5 个屏幕,每个屏幕都需要显示 toast “正在加载...”,后来您决定将其更改为“请稍候。 .."所以你需要迭代所有 5 个 toasts 进行更改,但是如果你 string.xml 那么一旦使用多个它就会改变 :D !
<string name="loading_toast">Please wait...</string>
- 本地化:您永远不知道您的应用程序可能支持哪种语言,因此您将使用 string.xml 来存储复杂的单词,例如俄语。假设您的 java 文件中有数十个字符串就像这个“Приветмир”,意思是“ Hello World !”那么你有时会感到困惑(正如我的经验:D)
分离:如果你正在做一个有数千行代码的大项目,你可能会写一些错误的文本,而你的客户会要求更正其中的一些,如果你使用的是字符串.xml 然后你可以指定每个屏幕的前缀,这将使更正和重构过程变得容易这里是一个例子:
<!--Log in screen start --> <string name="login_screen_welcome_message">Welcome</string> <string name="login_screen_log_in_button">Log In</string> <!--Log in screen end --> <!--Home screen start--> <string name="home_screen_greeting_message">Hi there !</string> <--Home screen end-->
快乐编码
关于java - 为什么对 TextView 使用 strings.xml 是个好习惯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49075042/