在我的android项目的/ res / values文件夹中,我有一个字符串,并在我的xml文件的文本视图中引用,我想更改我的java文件中的字符串。
正如你在下面的代码中看到的,我已经创建了一个字符串变量,然后在下面我已经设置了字符串变量设置的内容,这是字符串所在的位置。我在代码中提出“here”,我想在values文件夹中更改为字符串。但我不知道用什么代码来设置它。
我可以从我的java文件中更改文本视图中的文本,我知道该怎么做,但这是一种旧的方式,它设置了警告,所以我宁愿使用字符串,这是最好的方法这样做。
凭借我在文本视图中更改文本的知识,我基本上已经猜到了进入这个阶段的方式,但我不知道如何进一步,任何人都可以给我一些建议,谢谢。
String string;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
counter = 0;
add = (Button) findViewById(R.id.badd);
sub = (Button) findViewById(R.id.bsub);
reset = (Button) findViewById(R.id.breset);
display = (TextView) findViewById(R.id.tvdisplay);
string = (String) getString(R.string.counter);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
((///////////////here////////////////))
counter++;
}
});
答案 0 :(得分:3)
您无法在运行时修改分配给/res/values/strings.xml文件的<string>
元素的文本。它们是如此有效的常数final
。
您也无法在运行时更改布局xml文件。如果您创建了一个TextView
布局,其android:text
属性设置为某个初始资源字符串,那么这基本上是一个“初始”值,并且在运行时无法更改为其他内容。
答案 1 :(得分:2)
你告诉我们很多改变文字,但你没有说文本应该是什么。我也需要猜测:
strings.xml文件应该用于可能针对不同语言更改的文本。如果您只是想更改计数器的文本,则不应该通过strings.xml来实现,因为数字是通用的:)
尝试一下:
display.setText(String.valueOf(counter));
答案 2 :(得分:0)
您需要使用setText()方法。
display.setText("text");