我正在尝试本地化我的应用,以便它显示西班牙语和英语。我有大多数本地化计算出来有一个例外。我有一个.xml文件,列出了我想要移动到res / raw文件夹的应用程序的问题,以便我可以添加区域设置并让应用程序翻译。
在大多数情况下,这很简单,因为我已经能够使用/ res来调用大多数字符串(getResources()。getString(R.string。“”)但是我很难为此调用目前的论点。
我的xml位于res / raw /“”。xml
我现在正在使用资产管理器来获取问题的.xml
public static List<Question> readQuestions(AssetManager assetManager){
ArrayList<Question> questionArrayList = new ArrayList<Question>();
try{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(assetManager.open("questions.xml"));
doc.getDocumentElement().normalize();
NodeList nodeLst = doc.getElementsByTagName("question");
for(int s=0; s<nodeLst.getLength(); s++){
是否有人知道我可以调用raw文件夹来获取.xml?
EDIT :::
我正在尝试将代码用于输入流,但是在上下文中出现错误,表示无法解析符号'context'
public static List<Question> readQuestions(AssetManager assetManager){
ArrayList<Question> questionArrayList = new ArrayList<Question>();
try{
InputStream in = context.getResources().openRawResource(R.raw.questions);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(in);
NodeList nodeLst = doc.getElementsByTagName("question");
答案 0 :(得分:2)
获取res / raw / questions.xml的InputStream
InputStream in = context.getResources().openRawResource(R.raw.questions);
这个答案假设您有一个上下文。如果您不熟悉在Android中获取和使用Context,我强烈建议您花时间去理解它。否则你不会在Android编程方面走得太远。
StackOverflow上有很多答案已经在讨论上下文。这是一个What is 'Context' on Android?