adapterandroid
發布時間: 2022-05-01 06:44:33
❶ Android中Adapter刷新數據問題
首先如果數據從資料庫得到,建議Adapter繼承CursorAdapter,另外不應該每次返回都進行刷新,應該有數據的改變再進行刷新,利用ContentProvider監聽數據的變化,然後訪問資料庫,重新載入數據。
❷ Android 一個頁面不能同時載入多個Adapter嗎
當然可以同時載入多個Adapter,Adapter它是數據和UI(View)之間一個重要的紐帶,負責為相關的組件提供數據橋梁。
但是需要說明以下幾點,以ListView使用Adapter為例:
1、如果使用多個Adapter,當然相對於的需要多個ListView對應
2、Adapter是數據的橋梁,ListView配備不同的Adapter會顯示不同的內容
3、Adapter只是一種數據適配器,只要頁面需要Adapter,需要多少Adapter來顯示數據都是可以的。
❸ android 里怎麼用adapter寫下拉菜單選擇
所使用的工具:電腦
開發工具:eclipse for Android , Android Studio
用adapter 寫下拉菜單需要我們自己進行自定義,具體步驟如下:
1、自定義類,類成員與需要顯示的欄位一致;
java">publicclassManufacture{
privateStringname;
publicManufacture(Stringname){
super();
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
}
2、自定義adapter並繼承自BaseAdapter實現相應方法,下面是貼出的代碼示例:
{
privateList<Manufacture>mList;
privateContextcontext;
//創建有參構造,參數需要傳入兩個1.自定義類類型的List,上下文參數
publicMnufactureAdapter(List<Manufacture>mList,Contextcontext){
super();
this.mList=mList;
this.context=context;
}
//返回長度位所定義List的長度
@Override
publicintgetCount(){
returnmList.size();
}
//返回位置為自定義list當前位置
@Override
publicObjectgetItem(intposition){
returnmList.get(position)
;
}
//返回條目的ID
@Override
publiclonggetItemId(intposition){
returnposition;
}
//這里getView需方法需要重點說明和注意:
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
//創建一個LayoutInflater並傳入上下文
LayoutInflaterlinflater=LayoutInflater.from(context);
//添加自定義item布局到convertView;(item內容和樣式通過自定義方式實現)
convertView=linflater.inflate(R.layout.spinner_item_layout,null);
//初始化Item中控制項
TextViewtextView=(TextView)convertView.findViewById(R.id.manufacture_list);
//設置控制項顯示內容
textView.setText(mList.get(position).getName());
returnconvertView;
}
}
3、在activity中需要添加如下代碼:
//初始化布局文件中的spinner
SpinnermSpinner=(Spinner)findViewById(R.id.spinner1);
//初始化自定義的List,並往裡面添加數據
List<Manufacture>manufacture=newArrayList<Manufacture>();
接著就是添加數據,在項目中我是添加的從網路上下載的數據解析之後進行添加的,具體的添加方式根據具體需要進行添加,我把自己的貼在下面供大家參考:
for(inti=0;i<list.size();i++){
//添加數據源
manufacture.add(newManufacture(list.get(i).getName()));
}
//實例化一個之前自定義的adapter並向裡面添加數據
MnufactureAdaptermadapter=newMnufactureAdapter(manufacture,ProctManageActivity.this);
參數說明:第一個參數是添加數據源後的List,第二個是當前activity的上下文。
最後一步,向spinner裡面添加數據源
mSpinner.setAdapter(madapter);
熱點內容