我通过扩展BaseAdapter
创建了自己的自定义适配器。我只想在我的onItemClick
方法中抓住value
的字符串(所以我可以把它作为intent extra
)。我怎样才能做到这一点?如何从ListView中的HashMap中获取值?
我定制adapter
看起来是这样的:
private class HashMapAdapter extends BaseAdapter {
private HashMap<String, String> mMap = new HashMap<String, String>();
private String[] mKeys;
private Context mContext;
private HashMapAdapter(Context context, HashMap<String, String> map) {
mContext = context;
mMap = map;
mKeys = mMap.keySet().toArray(new String[map.size()]);
}
@Override
public int getCount() {
return mMap.size();
}
@Override
public Object getItem(int position) {
return mMap.get(mKeys[position]);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// String key = mKeys[position];
RowView row;
if(convertView == null) {
row = new RowView(getBaseContext());
} else {
row = (RowView) convertView;
}
row.display(mKeys[position]);
return row;
}
}
呼唤你的'的getItem(...)'方法不起作用位置值?你有什么尝试? – 2011-06-01 20:37:12