使用ArrayAdapter(Android)的列表视图中的双行

时间:2010-10-13 09:01:01

标签: android listview android-arrayadapter

我是Android编程的新手,我想要一些帮助。我有以下代码:

Object[] list_cities = parsedData.getCityname().toArray();
            Object[] list_countries = parsedData.getCountryname().toArray();

            // Display the available locations
            list_search.setAdapter(new ArrayAdapter<Object>(this, android.R.layout.simple_list_item_2, android.R.id.text1, list_cities));
            list_search.setAdapter(new ArrayAdapter<Object>(this, android.R.layout.simple_list_item_2, android.R.id.text2, list_countries));

我想为列表中的每个条目(城市和国家/地区)显示双行,但我没有运气。使用上面的代码我只看到国家而不是城市。有没有办法将这两个适配器添加到list_search,以便我可以看到所有数据?

谢谢大家的回答!!

3 个答案:

答案 0 :(得分:2)

  1. 创建一个自定义容器对象,可能是CountryCityLocation,带有一对国家和城市名称的字符串。
  2. 创建这些容器的数组并填入您的信息。
  3. 创建一个自定义ArrayAdapter,也许是CountryCityAdapter,将该数组应用于自定义适配器,并将其提供给getListView.setAdapter。
  4. 覆盖ArrayAdapter的getView方法,将您的名称字符串应用于自定义列表行视图中的TextViews。
  5. 编辑 - 删除死教程链接

答案 1 :(得分:1)

您只能将一个适配器绑定到ListView。 如果要组合适配器,则需要实现自定义适配器。 例如,您可以继承SimpleAdapter,在构造函数中提供两个简单的适配器,并在getItem方法中组合数据。

答案 2 :(得分:0)

link可能有所帮助。它显示了一个listView,其中包含使用HashMaps实现的多行行。