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