android(更改java代码中的字符串)
在android项目的/res/values文件夹中,我有一个字符串,它在xml文件的文本视图中引用,我想更改java文件中的字符串 正如您在下面的代码中看到的,我创建了一个字符串变量,然后在下面设置了字符串变量的设置,即字符串所在的位置。我在代码中设置了“here”,我想在values文件夹中将其更改为string。但我不知道用什么代码来设置它 我可以从java文件中更改文本视图中的文本,我知道怎么做,但这是一种老方法,它设置了一个警告,所以我宁愿使用字符串,这是最好的方法 根据我在文本视图中更改文本的知识,我基本上已经猜到了进入这一阶段的方法,但我不知道如何进一步。有人能给我一些建议吗,谢谢android(更改java代码中的字符串),android,string,textview,xml-layout,Android,String,Textview,Xml Layout,在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”
thendisplay.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));