1

我在 MainActivity.java 中定义了一个字符串:

public String counter1 = String.valueOf(e.getCount());

我想在 activity_main.xml 中使用这个字符串:

android:text="@string/counter1"

如您所知,我对此很陌生,因此将不胜感激基本步骤。

谢谢

4

4 回答 4

1

简短的回答:你不能。您在 xml 布局中设置的资源必须在资源文件中静态定义,例如.-

<string name="counter1">COUNTER VALUE</string>

要动态定义新字符串,您必须以编程方式设置它们。-

TextView textView = (TextView) findViewById(R.id.textViewId);
textView.setText(counter1);
于 2013-09-29T09:38:46.833 回答
1

如果你能让这个工作,你想做什么?如果要动态设置文本,可以使用setText

yourTextView.setText(counter1);
于 2013-09-29T10:01:15.850 回答
0

如果你想以编程方式设置一些你可以......你应该使用

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 在程序运行时更改,因此第一个选项很适合您

于 2013-09-29T09:43:58.270 回答
0

你不能,如果你想实现这种解决方案:在strings.xml中创建字符串

<string name="counter1">value of counter</string>

如果你想动态设置计数器的文本,那么在你的活动中:

TextView tView = (TextView) findViewById(R.id.textViewId);
tView.setText(counter1);

您应该遵循这一点,因为所有静态字符串都应始终在 strings.xml 中定义

于 2013-09-29T10:18:53.130 回答