我正在尝试在ExpandableListView中显示一些数据。
对于第一个位置,请说
name roll mark
a 10 50
b 11 55
c 12 56
第二次
name roll mark
a 7 5
b 5 5
c 3 5
我为每个字段(名称,标记,标记)创建了一个ArrayAdapter,并在3个TextView中显示。
因此,我必须制作一个用于滚动2次的ArrayAdapter
还有其他更好的选择吗?
答案 0 :(得分:0)
没有预定义的适配器将呈现HashMap您可以通过扩展ArrayAdapter来创建自定义适配器。
以下是自定义适配器中HashMap的示例:
public class HashMapAdapter extends BaseAdapter {
private HashMap<String, String> mData = new HashMap<String, String>();
private String[] mKeys;
public HashMapAdapter(HashMap<String, String> data){
mData = data;
mKeys = mData.keySet().toArray(new String[data.size()]);
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int position) {
return mData.get(mKeys[position]);
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(int pos, View convertView, ViewGroup parent) {
String key = mKeys[pos];
String Value = getItem(pos).toString();
//do your view stuff here
return convertView;
}
}
如果你想要切换效果,你可以使用ExpandableListAdapter代替简单的ArrayAdapter。
here您可以在ExpandableListAdapter中找到如何使用HashMap。您可以从Constructor传递HashMap并在Adapter中使用它。