Android 具有xml字典的ListView适配器

Android 具有xml字典的ListView适配器,android,Android,我想为ListView设置一个适配器,其中ListView的项是字典。 出于本地化的目的,我更希望这些项目是在“values”文件夹下面的xml中定义的 目前,我使用一个带有字符串的简单列表,其中数组在\values\arrays.xml中定义 但是我不想使用列表中所选项目的索引-如果有时更改项目的顺序,我必须更改依赖于此隐式索引的所有代码。使用已定义的键会容易得多 我怎么能这样做呢?我不会用字典。是的。我认为使用自定义对象的ArrayList或HashMap会更好。然后您可以从适配器获取此对象

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

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

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


我怎么能这样做呢?

我不会用字典。是的。我认为使用自定义
对象的
ArrayList
HashMap
会更好。然后您可以从
适配器
获取此
对象

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)

            }
});
listview.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//adapter.getItem(position);-这是访问对象的方式
//已连接到列表中的选定项
//然后您可以轻松访问此对象的id(或从HashMap)
}
});
编辑:如果您想要一个xml列表,您可以随时向资源中添加一个抽象xml文件。这些也可以本地化。它是这样的:

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

123
我的话

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

谢谢,这将是第一步。但是我仍然需要将对象存储在一个可本地化的XML中,但为什么这是一个问题呢?通常,您将它们存储在相同的名称下,并且自定义的
对象可以通过名称(双语语言中的R.string.my_word_)访问它们,并且它们将被正确地本地化。您是对的,但是为了简单起见,我更愿意将列表存储为xml中的数组/字典,而不是单个字符串。但是你的方法完全足够了我的回答给你另一个选择