为什么我在使用R.string的android中获得转换错误?

时间:2016-10-13 11:35:15

标签: android

我的文件strings.xml如下所示:

<resources>
    <string name="app_name">BootIntervals</string>
    <string name="action_settings">Settings</string>
    <string name="logname">"bi2.log"</string>
</resources>

后来我调用了一个方法

 logger.init(R.string.logname);

String为参数。但是,我收到以下错误:

Error:(21, 15) error: method init in class MyLogger cannot be applied to given types;
required: String
found: int
reason: actual argument int cannot be converted to String by method invocation conversion

如果我在bi2.log中使用"bi2.log"strings.xml,则无关紧要。这次我犯了什么错?我不明白为什么R.string.logname是一个整数...

2 个答案:

答案 0 :(得分:4)

试试这个

this.getResources().getString(R.string.logname)

答案 1 :(得分:2)

你必须使用

getString(yourResourceId);

在你的情况下,像这样

logger.init(getString(R.string.logname));