Java 从SparseArray填充列表视图

Java 从SparseArray填充列表视图,java,android,listview,Java,Android,Listview,我不熟悉ListView和数组的概念。我基本上有一个叫shop.Clothies的Sparsarray。 我基本上想用shop.counts的元素填充我的列表视图。为了做到这一点,我知道我必须创建一个ArrayAdapter并将适配器的参数传递给listview。之后,我必须检查shop.counts是否包含值,如果包含值,则必须将其添加到listView 爪哇: ListView ListView=(ListView)v.findViewById(R.id.list); ArrayAdapte

我不熟悉ListView和数组的概念。我基本上有一个叫shop.Clothies的Sparsarray。 我基本上想用shop.counts的元素填充我的列表视图。为了做到这一点,我知道我必须创建一个ArrayAdapter并将适配器的参数传递给listview。之后,我必须检查shop.counts是否包含值,如果包含值,则必须将其添加到listView

爪哇:

ListView ListView=(ListView)v.findViewById(R.id.list);
ArrayAdapter ArrayAdapter=新的ArrayAdapter(这个,R.layout.receive\u shop\u list,shop.costs);
setAdapter(arrayAdapter);
int键=0;
对于(int i=0;i
XML:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

</LinearLayout>

似乎我做错了什么,我犯了以下错误:

Cannot resolve constructor ArrayAdapter(SearchableShopList, int, android.util.SparseArray<java.lang.string>)

Cannot resolve method 'add(java.lang.String)'
无法解析构造函数ArrayAdapter(SearchableShopList,int,android.util.SparseArray)
无法解析方法“add(java.lang.String)”

有人能帮我找到正确的方法吗?

我用一种非常简单的方式解决了这个问题。我没有为SparseArray制作自定义适配器,而是将SparseArray的值传递给另一个数组,这就成功了

ListView listView = (ListView)v.findViewById(R.id.list);
ArrayList<String> mylist = new ArrayList<String>();

    int key = 0;
    for (int i = 0; i < shop.Clothes.size(); i++) {
        key = shop.Clothes.keyAt(i);
        Object value = shop.Clothes.valueAt(i);
        value.toString();
        mylist.add((String) value);
    }

    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1, mylist );
    listView.setAdapter(arrayAdapter);
ListView ListView=(ListView)v.findViewById(R.id.list);
ArrayList mylist=新的ArrayList();
int键=0;
对于(int i=0;i
ListView listView = (ListView)v.findViewById(R.id.list);
ArrayList<String> mylist = new ArrayList<String>();

    int key = 0;
    for (int i = 0; i < shop.Clothes.size(); i++) {
        key = shop.Clothes.keyAt(i);
        Object value = shop.Clothes.valueAt(i);
        value.toString();
        mylist.add((String) value);
    }

    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1, mylist );
    listView.setAdapter(arrayAdapter);