我目前正在为我的Android应用程序进行国际化。这是我尝试从string.xml
tv.setText(context.getResources().getString(R.string.));
但Eclipse没有提出任何我预先定义的字符串,只是标准的Android Strings
。我的文件夹结构如下所示:
res/values/strings.xml
和
res/values-NO/strings.xml
我可以看到这些文件中的字符串在R.java
文件中有一些内存地址,例如这个:
public static final int enterPassword=0x7f06003c;
我尝试Clean
项目,但奇怪的是日食没有任何建议,字符串存在于R.java
问题出在哪里?
答案 0 :(得分:6)
您应该导入R类。
import xxx.xxx.R;
不是
import android.R;
答案 1 :(得分:4)
你的xml看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="yellow">Yellow</string>
</resources>
并在java代码中:
tv.setText(getResources().getString(R.string.yellow));
并导入android.R eventhough错误存在而不是尝试运行程序而不是它将会关闭
答案 2 :(得分:1)
使用您的R
导入Package Path
而不是安卓。
喜欢import com.example.R
而不是import android.R;
答案 3 :(得分:0)
请验证导入的R文件路径 Link了解更多信息
答案 4 :(得分:0)
试试这个
Resources resources = getResources();
String string = resources.getString(R.string.text);
TextView tv= (TextView)findViewById(R.id.text);
tv.settext(string);
答案 5 :(得分:0)
使用此:
String tab_label = getResources().getString(R.string.));
并确保您未导入 android.R