让我们说在strings.xml中有这样的东西:
TextView msgTextView = (TextView) findViewById(R.id.msg);
msgTextView.setText(R.string.hello);
现在我想使用此字符串为TextView设置一个值。我应该在java类中这样做:
android:text="@string/hello"
或在xml文件中如下?
<body ng-app="starter">
<ion-nav-view></ion-nav-view>
</body>
哪种方法更好?或者当第一种方式和第二种方式使用时更好?
答案 0 :(得分:1)
你不应该这样做。有一种相对较新的方法,称为数据绑定(2015年是演示),现在这个库得到了Google的正式支持。它是MVVM模式的一种表现形式,您应该使用它,因为它可以简化您的代码并使其在长期内更易于维护。见https://developer.android.com/topic/libraries/data-binding/index.html。简而言之,您可以使用字段和访问者创建Java类,并将其字段设置为xml属性。通过这样做,AndroidStudio将为您生成所有.findViewbyId()样板。你只需创建模型并将其设置为特定的绑定。
答案 1 :(得分:0)
关于表现,它没有任何区别。我个人更喜欢用XML来做,因为它不会使你的活动代码混乱。
答案 2 :(得分:0)
两种方法都是正确的。如果你想将你的变量国际化,那么时间(改变语言)都会起作用。在引用内存或速度时动态更改是正确的(意味着使用getResource()或R.string.hello)。
答案 3 :(得分:0)
首先你应该在xml中设置它。(或者把它留空。)但如果你想在其他事情发生时改变它(例如当用户点击按钮或其他任何东西时)。你应该在java中设置它。
答案 4 :(得分:0)
当您希望修改textview和final时,通常会使用第一种方法。 建议使用第二种方法,因为textview的值可能会在app的操作过程中发生变化。最初在第二种方法中,textview显示一个值,显示其目的或类型。例如,第二个可用于显示后台任务的进度。