0

我想将适配器设置为 ListView,其中 ListView 的项目是字典。出于本地化目的,我希望这些项目在“值”文件夹下的 xml 中定义。

目前,我使用带有字符串的简单列表,其中数组在 \values\arrays.xml 中定义

但我不想使用列表中所选项目的索引 - 如果我有时更改项目的顺序,我必须更改依赖于此隐式索引的所有代码。使用定义的密钥会容易得多。

我怎么能这样做?

4

1 回答 1

0

我不会使用字典。它已经过时了。我认为您最好使用ArrayListof customObject或 a HashMap。然后你可以Object从你的Adapter

listview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

              //adapter.getItem(position); - this is how you can acces the object
              //connected to the selected item from the list
              //Then you can easily access an id of this object (or from HashMap)

            }
});

编辑:如果您想在 xml 中有一个列表,您可以随时将一个抽象 xml 文件添加到您的资源中。这些也可以本地化。它会是这样的:

<my_word>
    <id>123</id>
    <word>My word</word>
</my_word>

但它会涉及 XML 解析,所以它不一定是更容易的解决方案。

于 2012-07-22T20:59:58.440 回答