android(更改java代码中的字符串)

android(更改java代码中的字符串),android,string,textview,xml-layout,Android,String,Textview,Xml Layout,在android项目的/res/values文件夹中,我有一个字符串,它在xml文件的文本视图中引用,我想更改java文件中的字符串 正如您在下面的代码中看到的,我创建了一个字符串变量,然后在下面设置了字符串变量的设置,即字符串所在的位置。我在代码中设置了“here”,我想在values文件夹中将其更改为string。但我不知道用什么代码来设置它 我可以从java文件中更改文本视图中的文本,我知道怎么做,但这是一种老方法,它设置了一个警告,所以我宁愿使用字符串,这是最好的方法 根据我在文本视图中

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

正如您在下面的代码中看到的,我创建了一个字符串变量,然后在下面设置了字符串变量的设置,即字符串所在的位置。我在代码中设置了“here”,我想在values文件夹中将其更改为string。但我不知道用什么代码来设置它

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

        }
    });
您将希望使用该方法


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

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

试着这样做:

display.setText(String.valueOf(counter)); 

无法在运行时修改分配给/res/values/strings.xml文件的
元素的文本。它们是常量,非常有效地
final


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

Yer我尝试过“display.setText(“text”)它可以工作,但仅适用于显示变量,它希望更改字符串变量。和“string.setText(“text”);”不起作用:/若要更改字符串,请尝试
string=“hello world”
then
display.setText(字符串)是的,你的权利我必须使用setText方法,很高兴有你们在这里帮忙:)我已经从这个问题中删除了对eclipse的引用和eclipse标记,因为它们不相关。根据我的理解,这些字符串应该是常量,所以我认为你无法通过编程方式更改它们。不过,我对android开发还是新手,所以不要拘泥于此。@Marcin:你明白了-看看我的答案。是的,你的权利,我现在明白了谢谢你的帮助和时间:)谢谢你,是的,我写了我很快,所以没有达到最佳标准。如果你不介意的话,一个简单的问题,这个很好用。setText(String.valueOf(counter));但是,您是否只将其用于值或数字,而将display.setText(“”)用于字母或字符串?不知何故,我并不理解您遇到的问题。xml包含常量,因此无法更改存储在其中的文本。如果要将文本更改为用户可能提供的特定字符串,则应将其设置为键盘,并为每个字母设置一个按钮。然后将字母附加到显示的字符串中。。。存储的字符串只能是默认的起始值,不能在运行时更改。我有点迷茫,因为我没有得到你真正需要和想要的…对不起,我现在明白你的意思了,对不起。你确定那是真的吗?您可以在运行时更改xml布局:/“但我正在更改java文件中的android:文本。”-不,您不能。您使用的是
setText(…)
,这是一种Java方法,与XML布局文件无关。调用
setContentView(R.layout.main)
时,布局充气器将使用属性
android:text
。布局充气器处理XML UI元素,如
TextView
。当它遇到
android:text
元素时,它调用
setText(…)
从该属性传递文本。对不起,我是android新手,解释得很好,很高兴听到你的答案,谢谢你的帮助。@Jack:没问题。这是一条艰难的学习曲线。阅读大量示例和Android开发文档。也可以在这里闲逛,阅读其他人的问题和他们得到的答案——这样你可以学到很多东西。一年前我还是一名Android新手,现在我了解了很多,但还有很多东西我还没有开始。坚持下去。
display.setText(String.valueOf(counter));