androidadapter數據
❶ android 數組獲取數據後如何通知adapter更新
1、adpter.notifyDataSetChanged();
2、例子
java">{
privateListViewlistView;
privateMyAdaptermyAdapter;
privateList<Map<String,Object>>datas;
publicContextcontext;
privateString[]from=newString[]{"color","name"};
privateint[]to=newint[]{R.id.color,R.id.name};
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.file_select_layout);
datas=newArrayList<Map<String,Object>>();
myAdapter=newMyAdapter(context);
listView.setAdapter(myAdapter);
}
publicvoidsetDatas(Stringstr){
// Stringstr="[{"color":"#3EA2FF","name":"居民樓"},{"color":"#FCF1CA","name":"商業樓"},{"color":"#D8424F","name":"單位院"}]";
LayoutInflatermInflater=LayoutInflater.from(context);
Viewview=mInflater.inflate(R.layout.legend_item,null);
if(!TextUtils.isEmpty(str))){
try{
List<Legend>legendList=JSONObject.parseArray(str,Legend.class);
if(legendList!=null){
HashMap<String,Object>map;
for(Legendl:legendList){
map=newHashMap<String,Object>();
map.put(from[0],Color.parseColor(l.getColor()));
map.put(from[1],l.getName());
data.add(map);
}
}
}catch(Exceptione){
//TODO:handleexception
}
}
this.datas=data;
myAdapter.notifyDataSetChanged();
}
{
publicfinalclassViewHolder{
publicImageViewcolor;
publicTextViewname;
}
;
publicMyAdapter(Contextcontext){
this.mInflater=LayoutInflater.from(context);
}
publicintgetCount(){
returndatas.size();
}
publicObjectgetItem(intarg0){
returnnull;
}
publiclonggetItemId(intarg0){
return0;
}
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
ViewHolderholder=null;
if(convertView==null){
holder=newViewHolder();
convertView=mInflater.inflate(R.layout.legend_item,null);
holder.color=(ImageView)convertView.findViewById(to[0]);
holder.name=(TextView)convertView.findViewById(to[1]);
convertView.setTag(holder);
}else{
holder=(ViewHolder)convertView.getTag();
}
holder.color.setBackgroundColor((Integer)datas.get(position).get(from[0]));
holder.name.setText((String)datas.get(position).get(from[1]));
returnconvertView;
}
}
};
3、分析
setDatas(Stringstr)是設置數據的並更新listView的方法,解析好數據後,調用adpter.notifyDataSetChanged();更新。
4、結果
❷ android中的適配器是什麼
適配器就是就是把一些數據給弄得適當,適合以便於在View上顯示。
1、Android適配器是數據和視圖之間的橋梁,以便於數據在View上顯示。適配器就像顯示器,把復雜局笑的東西按人可以接受的方式來展現。我們弊察常用的適配器一共有三個:ArrayAdapter,SimpleAdapter,SimpleCursorAdapter 這三個,他們都是繼承於BaseAdapter 。
2、Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能桐卜含手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。Android操作系統最初由Andy Rubin開發,主要支持手機。
❸ android如何在adapter更新數據
data = new ArrayList<Info>(); //存放數據的列表,以後只更新它就可以了
adapter = new page_ListAdapter(this, data); //適配器,一個類,繼承自BaseAdapter
listview.setAdapter(adapter); //列表視圖上綁定適配器
以上幾步就建立了數據與控制項之間的關,以後更新data就可以了,界面會自動刷新。
附:適配器類在大體如下所示:
class page_ListAdapter extends BaseAdapter {
public page_ListAdapter(Activity context, List<Info> list) {
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//這里構建每一行的界面
}
}
❹ android listview怎麼更新數據
0、本質上是listview綁定Adapter,Adapter關聯List,因此List變化後導致Adapter同步變化;再通過調用adapter.notifyDataSetChanged();方法使得listview界面自動更新。
操作:
1、List<String> strName = new ArrayList<String>();//實際的數據源
2、Adapter adapter = new ArrayAdapter<String>(context,
R.layout.xmlforitem, strName);//適配器,其中 R.layout.xmlforitem是列表中每一項的布局,可以用默認的也可自建,strName則是將數據源綁定到適配器
3、listView.setAdapter(adapter);//將適配器綁定到列表顯示控制項ListView;
4、strName.add("TEST ONE");//增加一項,引起list變化,Adapter也隨之變化;
5、adapter.notifyDataSetChanged();//調用notifyDataSetChanged();更新適配器,ListView會自動刷新,notifyDataSetChanged()方法可能需要在UI線程中調用,建議自行測試;
6、數據增加可能引起內存變化,需防內存溢出;
7、其他。
以上僅供參考,建議多搜索相關文檔。
❺ android控制項listview怎樣顯示資料庫數據呢
先創建一個幫助類BaseHelper,繼承SQLiteOpenHelper,然後在獲得讀取的許可權,BaseHelper.getReadableDatabase();查詢:Cursor cursor = db.query(TABLE_NAME,str,null,null,null,null,null);,接著放到adapter裡面然後就顯示出來SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.showcontact, cursor, FROM, TO);
setListAdapter(adapter);。大概流程就這樣,具體看幫助文檔或者網路+google
❻ Android-android中的adapter數據在哪裡載入較好
apapter使數據綁神凳定到控制項變得更加簡單和靈活...
用途為容器提供子視圖,利用視圖的數據和元數據來構建每個槐瞎閉子視圖。有 arrayAdapter ,simpleCursorAdapter, cursorAdapter resourceCursorAdapter 如果鉛裂需要自定義適配器 可以擴展抽象類BaseAdapter
❼ android中Adapter有什麼作用常見的Adapter有哪些
Adapter即適配器,適配器的作用是允許硬體或電子介面與其它硬體或電子介面相連,也可以是信息介面。
常見的Adapter如:電源適配器、三角架基座轉接部件、USB與串口的轉接設備等。
適配器模式主要應用於,當介面里定義的方法無法滿足客戶的需求,或者說介面里定義的方法的名稱或者方法界面與客戶需求有沖突的情況。
(7)androidadapter數據擴展閱讀
Adapter主要在View上顯示,可以看作是界面數據綁定的一種理解。它所操縱的數據一般都是一些比較復雜的數據,如數組,鏈表,資料庫,集合等。適配器就像顯示器,把復雜的東西按人可以接受的方式來展現。
ArrayAdapter,SimpleAdapter,SimpleCursorAdapter這三個都是繼承BaseAdapter,BaseAdapter是一個抽象類,需要子類繼承並實現其中的方法才能使用,常用於用戶自定義適配器時,顯示比較復雜的數據。
❽ android兩種數據類型怎麼塞到一個adapter
使用適配器。適配器就是把多種數據給弄得適當,適合以便於顯示,將android兩種數據放到一個適配器里即可。
❾ Android中Adapter刷新數據問題
首先如果數據從資料庫得到,建議Adapter繼承CursorAdapter,另外不應該每次返回都進行刷新,應該有數據的改變再進行刷新,利用ContentProvider監聽數據的變化,然後訪問資料庫,重新載入數據。
❿ android 自定義adapter載入數據載入不進去 是什麼原因
你為雹虧肆listview加了設配器了嗎:mlistView.setAdapter(),還有,你設置成設配器之前,nameAndprice 里邊有沒有item,如果空坦先設置了設配器,然後再獲取數據,那麼listview是不會顯示的源轎