7

在我的 android 项目的 /res/values 文件夹中,我有一个字符串,它在我的 xml 文件的文本视图中被引用,我想更改我的 java 文件中的字符串。

正如您在下面的代码中看到的那样,我创建了一个字符串变量,然后在下面我设置了字符串变量的设置,即字符串所在的位置。我在代码中提出了“这里”,这是我想在值文件夹中更改为字符串的地方。但我不知道用什么代码来设置它。

我可以从我的 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++;

        }
    });
4

3 回答 3

3

您不能<string>在运行时修改分配给 /res/values/strings.xml 文件元素的文本。它们是非常有效的常数final

您也不能在运行时更改布局 xml 文件。如果您创建了一个布局,TextViewandroid:text属性设置为某个初始资源字符串,那基本上是一个“初始”值,在运行时不能更改为其他值。

于 2012-01-02T01:39:42.333 回答
2

你告诉我们很多改变的文本,但你没有说文本应该是什么。我也需要猜测:

strings.xml 文件应该用于可能因不同语言而改变的文本。如果您只想更改计数器的文本,则不应通过 strings.xml 进行操作,因为数字是通用的 :)

尝试这样做:

display.setText(String.valueOf(counter)); 
于 2012-01-02T01:21:11.273 回答
0

您将需要使用setText()方法。

display.setText("text");
于 2012-01-02T01:16:42.030 回答