我在 MainActivity.java 中定义了一个字符串:
public String counter1 = String.valueOf(e.getCount());
我想在 activity_main.xml 中使用这个字符串:
android:text="@string/counter1"
如您所知,我对此很陌生,因此将不胜感激基本步骤。
谢谢
我在 MainActivity.java 中定义了一个字符串:
public String counter1 = String.valueOf(e.getCount());
我想在 activity_main.xml 中使用这个字符串:
android:text="@string/counter1"
如您所知,我对此很陌生,因此将不胜感激基本步骤。
谢谢
简短的回答:你不能。您在 xml 布局中设置的资源必须在资源文件中静态定义,例如.-
<string name="counter1">COUNTER VALUE</string>
要动态定义新字符串,您必须以编程方式设置它们。-
TextView textView = (TextView) findViewById(R.id.textViewId);
textView.setText(counter1);
如果你能让这个工作,你想做什么?如果要动态设置文本,可以使用setText
:
yourTextView.setText(counter1);
如果你想以编程方式设置一些你可以......你应该使用
txtview.setText(yourString);
如果你想在 XML 中设置一个字符串,那么你可以像你一样在 XML 中设置它
android:text="Exercise Name"
或使用字符串,然后您也可以在字符串中以编程方式使用:
<string name="Delete">Delete</string>
在代码中,您可以使用 R.string.Delete 或 getString(R.string.app_name); 调用它
当然,您也可以使用@string 从 XML 中的字符串进行设置...
通过您尝试执行的操作的声音,您希望 TextView 在程序运行时更改,因此第一个选项很适合您
你不能,如果你想实现这种解决方案:在strings.xml中创建字符串
<string name="counter1">value of counter</string>
如果你想动态设置计数器的文本,那么在你的活动中:
TextView tView = (TextView) findViewById(R.id.textViewId);
tView.setText(counter1);
您应该遵循这一点,因为所有静态字符串都应始终在 strings.xml 中定义