如何在android中将SimpleAdapter 更改为ArrayAdapter?
How to change SimpleAdapter to ArrayAdapter in android?
我有下面的 simpleAdapter 代码。我想把它改成 ArrayAdapter。
adapter = new SimpleAdapter(
com_list.this, contactList,
R.layout.list_item, new String[] { TAG_NAME,TAG_CURRENT_BID,TAG_MINIMUM_BID,
TAG_END_TIME }, new int[] { R.id.name,R.id.current_bid,R.id.minimum_bid,
R.id.end_time });
setListAdapter(adapter);
每个 ArrayAdaper 都可以将单个 TextView 绑定到单个对象。正如您的代码所暗示的那样,有 4 个 TextView,因此您需要使用 4 个 ArrayAdapter 实例。
它的工作原理如下:
adapterName = new ArrayAdapter(com_list.this, R.layout.list_item, R.id.name, names);
adapterCBid = new ArrayAdapter(com_list.this, R.layout.list_item, R.id.current_bid, cbids);
adapterMBid = new ArrayAdapter(com_list.this, R.layout.list_item, R.id.minimum_bid, mbids);
adapterEndTime = new ArrayAdapter(com_list.this, R.layout.list_item, R.id.end_time, endtimes);
names
、cbids
、mbids
、endtimes
代表你contactList
中对应的数值
和Filter一样,可以参考ArrayFilter and SimpleFilter的源码,都是用space拆分原始值,所以不能用space作为搜索关键词。你可以继承SimpleAdapter(override getFilter()
)来实现你自己的Filter
我有下面的 simpleAdapter 代码。我想把它改成 ArrayAdapter。
adapter = new SimpleAdapter(
com_list.this, contactList,
R.layout.list_item, new String[] { TAG_NAME,TAG_CURRENT_BID,TAG_MINIMUM_BID,
TAG_END_TIME }, new int[] { R.id.name,R.id.current_bid,R.id.minimum_bid,
R.id.end_time });
setListAdapter(adapter);
每个 ArrayAdaper 都可以将单个 TextView 绑定到单个对象。正如您的代码所暗示的那样,有 4 个 TextView,因此您需要使用 4 个 ArrayAdapter 实例。
它的工作原理如下:
adapterName = new ArrayAdapter(com_list.this, R.layout.list_item, R.id.name, names);
adapterCBid = new ArrayAdapter(com_list.this, R.layout.list_item, R.id.current_bid, cbids);
adapterMBid = new ArrayAdapter(com_list.this, R.layout.list_item, R.id.minimum_bid, mbids);
adapterEndTime = new ArrayAdapter(com_list.this, R.layout.list_item, R.id.end_time, endtimes);
names
、cbids
、mbids
、endtimes
代表你contactList
和Filter一样,可以参考ArrayFilter and SimpleFilter的源码,都是用space拆分原始值,所以不能用space作为搜索关键词。你可以继承SimpleAdapter(override getFilter()
)来实现你自己的Filter