如何在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);

namescbidsmbidsendtimes代表你contactList

中对应的数值

和Filter一样,可以参考ArrayFilter and SimpleFilter的源码,都是用space拆分原始值,所以不能用space作为搜索关键词。你可以继承SimpleAdapter(override getFilter())来实现你自己的Filter