我有 2 个相互关联的项目需要单独访问。一本书的标题和它有多少页。我已经为标题制作了一个数组,但是将那本书的页数链接到该标题的最佳方法是什么?
我正在考虑以下内容,但我不知道如何访问页数。
<string-array name="books">
<item pages="428">"book1"</item>
<item pages="599">"book2"</item>
<item pages="204">"book3"</item>
</string-array>
最佳答案
你可以选择 XPath但恕我直言,这太过分了。
对我来说,听起来您需要某种 map 来跟踪页面。我个人会避免使用字符串数组(因为我不认为无论如何都可以引用元素的属性)如下:
// create HashMap to write pages to
Map<String, Integer> bookPageMapping = new HashMap<String, Integer>();
bookPageMapping.put("book1", 428);
bookPageMapping.put("book2", 599);
bookPageMapping.put("book3", 204);
您也可以按如下方式将书籍文字放入 strings.xml 中并以这种方式引用它们:
字符串.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MultiArray</string>
<string name="book1">book1</string>
<string name="book2">book2</string>
<string name="book3">book3</string>
</resources>
然后您将按如下方式在代码中引用文件:
// create HashMap to write pages to
Map<String, Integer> bookPageMapping = new HashMap<String, Integer>();
bookPageMapping.put(getString(R.string.book1), 428);
bookPageMapping.put(getString(R.string.book1), 599);
bookPageMapping.put(getString(R.string.book1), 204);
或者你可以使用字符串数组:
字符串.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MultiArray</string>
<string-array name="books">
<item>book1</item>
<item>book2</item>
<item>book3</item>
</string-array>
</resources>
然后相应地填充 HashMap :
// get the String array from resources
Resources res = getResources();
String[] books = res.getStringArray(R.array.books);
// create HashMap to write pages to
Map<String, Integer> bookPageMapping = new HashMap<String, Integer>();
bookPageMapping.put(books[0], 428);
bookPageMapping.put(books[1], 599);
bookPageMapping.put(books[2], 204);
有关更多信息,请访问 Android 开发者网站并搜索字符串资源或 map 。我会直接发布这些链接,但由于我是新用户,我不能发布超过 1 个超链接。顺便说一句,这是我的第一篇 Stack Overflow 帖子,所以要温柔 :)
关于android - 多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3763585/