Как установить R.string.resource_name в этом случае - PullRequest
2 голосов
/ 10 января 2020

У меня есть такой код

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

Я хочу получить это "5" в if(POS>=5) из strings.xml

В strings.xml У меня

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

Я пробовал эти

if(POS>=R.string.lastaricle)

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

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

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

if(POS>=@string/lastarticle)

, но ни один из них не работал. Я думаю, что что-то упустил, но я не знаю, что это такое?

Ответы [ 2 ]

3 голосов
/ 10 января 2020

Вы должны преобразовать эту строку в 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);
}
2 голосов
/ 10 января 2020

Используйте integers.xml для целых значений ref: https://developer.android.com/guide/topics/resources/more-resources#Integer

И тогда, независимо от того, используете ли вы значения strings.xml или integers.xml, генерируются целые числа, которые относятся к ie R.string.lastaricle или R.integer.lastaricle, чтобы получить значение, вам нужен метод get из https://developer.android.com/reference/android/content/res/Resources

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

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

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

Это не сработало, потому что вы сравнили String с Integer

целых чисел. xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="lastaricle">5</integer>
</resources>
    if (POS >= getResources().getInteger(R.integer.lastaricle)) {
        Toast.makeText(SubActivity.this, R.string.lastaricle, Toast.LENGTH_SHORT).show();
    } else {
        POS += 1;
        fillDetails(POS);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...