Java 在这种情况下,如何设置R.string.resource_名称

Java 在这种情况下,如何设置R.string.resource_名称,java,android,r,string,Java,Android,R,String,我有这样的代码 if(POS>=5){ Toast.makeText(SubActivity.this,R.string.last,Toast.LENGTH_SHORT).show(); }else { POS += 1; fillDetails(POS); } 我想在if(POS>=5)中从strings.xml 在strings.xml中,我有 <string name="lastarticle">5</string> 但没有

我有这样的代码

if(POS>=5){
    Toast.makeText(SubActivity.this,R.string.last,Toast.LENGTH_SHORT).show();
 }else {
     POS += 1;
     fillDetails(POS);
 }
我想在
if(POS>=5)
中从
strings.xml

strings.xml
中,我有

<string name="lastarticle">5</string>

但没有一个成功。我想我错过了一些东西,但我不知道它是什么?

您应该将该字符串转换为int,然后与POS进行比较:

if(POS >= Integer.parseInt(getString(R.string.lastaricle))){
     Toast.makeText(SubActivity.this, R.string.last, Toast.LENGTH_SHORT).show();
} else {
     POS += 1;
     fillDetails(POS);
}

您应该将该字符串转换为int,然后将其与POS进行比较:

if(POS >= Integer.parseInt(getString(R.string.lastaricle))){
     Toast.makeText(SubActivity.this, R.string.last, Toast.LENGTH_SHORT).show();
} else {
     POS += 1;
     fillDetails(POS);
}

对ints ref使用
integers.xml

然后,无论您使用
strings.xml
还是
integers.xml
值都会生成引用的int,即
R.string.lastaricle
R.integer.lastaricle
,所以要获取值,需要调用getter

if(POS>=getString(R.string.lastaricle))

if(POS>=getResources().getString(R.string.mess_1))

if(POS>=this.getString(R.string.resource_name))

这些不起作用,因为您将
字符串
整数

integers.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="lastaricle">5</integer>
</resources>

对ints ref使用
integers.xml

然后,无论您使用
strings.xml
还是
integers.xml
值都会生成引用的int,即
R.string.lastaricle
R.integer.lastaricle
,所以要获取值,需要调用getter

if(POS>=getString(R.string.lastaricle))

if(POS>=getResources().getString(R.string.mess_1))

if(POS>=this.getString(R.string.resource_name))

这些不起作用,因为您将
字符串
整数

integers.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="lastaricle">5</integer>
</resources>

你可以在答案中做什么,但你应该这样做。你试图做这样的事情,如果(integer>=string)没有意义。你可以在答案中做什么,但你应该这样做。你试图做这样的事情,如果(integer>=string)没有意义。