日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 中文API (46) —— SimpleAdapter

發布時間:2025/3/15 Android 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 中文API (46) —— SimpleAdapter 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正文

  一、結構

    public interface?SpinnerAdapter?extends?Adapter

?

?

  java.lang.Object

?????  android.widget.BaseAdapter

android.widget. SpinnerAdapter

?

  二、概述

    這是一個簡單的適配器,可以將靜態數據映射到XML文件中定義好的視圖。你可以指定數據支持的列表如ArrayList組成的Map。在ArrayList中的每個條目對應List中的一行。Maps包含每行數據。你可以指定一個定義了被用于顯示行的視圖XML文件,通過關鍵字映射到指定的視圖。綁定數據到視圖分兩個階段,首先,如果一個SimpleAdapter.ViewBinder是有效的,setViewValue(android.view.View, Object, String)將被調用。如果返回值是真,綁定完成了。如果返回值為假,下面的視圖將按以下順序去處理:

    ?一個實現了Checkable的視圖(例如CheckBox),期望綁定值是一個布爾類型。

    ?TextView期望綁定值是一個字符串類型,通過調用setViewText(TextView, String)綁定。

    ?ImageView期望綁定值是一個資源id或者一個字符串,通過調用setViewImage(ImageView, int)??  setViewImage(ImageView, String)

    如果沒有一個合適的綁定發生將會拋出IllegalStateException

?

  三、構造函數

public?SimpleAdapter?(Context?context,?List<??extends?Map<String,??>> data, int resource,?String[]?from, int[] to)

????????構造函數

參數

?????? context???關聯SimpleAdapter運行著的視圖的上下文。

data????????一個Map的列表。在列表中的每個條目對應列表中的一行,應該包含所有在from中指定的條目

resource??????????????一個定義列表項目的視圖布局的資源唯一標識。布局文件將至少應包含哪些在to中定義了的名稱。

from???????一個將被添加到Map上關聯每一個項目的列名稱的列表

to????應該在參數from顯示列的視圖。這些應該全是TextView。在列表中最初的N視圖是從參數from中最初的N列獲取的值。

?

  四、公共方法

?

public int?getCount?()

獲取數據集中記錄總行數

?

public?View?getDropDownView?(int position,?View?convertView,?ViewGroup?parent)

獲得一個在指定位置上顯示下拉彈出數據的視圖。

參數

position?????????想得到項目視圖的索引

convertView?如果可能舊有的視圖重新使用。注解:在使用之前應該檢查這個視圖不是空的并且類型合適。如果轉換視圖顯示正確的數據是不可能的,這個方法能夠創建一個新的視圖

parent??? ???????視圖最終將依附的父對象

返回值

一個對應指定位置的數據的視圖。

?

public?Filter?getFilter?()

返回一個可以通過一種過濾模式來約束數據的過濾器。

這個方法通常被Adapter類實現。

???????返回值

一個用于約束數據的過濾器

?

public abstract?Object?getItem?(int position)

獲取數據集中指定位置上的數據項目

參數

position?adapter中我們想得到項目的位置。

??????????????返回值

指定位置上的數據。

?

public abstract long?getItemId?(int position)

獲取數據集中指定位置上的行ID

參數

position?adapter中我們想得到的行ID的項目的位置。

返回值

指定位置上的數據。

?

public abstract?View?getView?(int position,?View?convertView,?ViewGroup?parent)

獲取一個顯示數據集中指定位置數據段視圖。可以手動創建視圖,或者從XML設計文件填充。當視圖從XML設計文件填充時,父視圖(如GridViewListView等)將接受默認的設計參數,除非使用inflate(int, android.view.ViewGroup, boolean)去指定一個根視圖和防止依附于根視圖。

參數

?????? position?我們想要的在adapter中的數據項目的位置

convertView?如果可能舊有的視圖重新使用。注解:在使用之前應該檢查這個視圖不是空的并且類型合適。如果轉換視圖顯示正確的數據是不可能的,這個方法能夠創建一個新的視圖

parent????視圖最終將依附的父對象。

返回值

一個在指定位置上相應的數據的視圖。

?

public?SimpleAdapter.ViewBinder?getViewBinder?()

返回被用來綁定數據到視圖的SimpleAdapter.ViewBinder?

返回值

一個ViewBinder?,如果binder不存在則返回null

參見

setViewBinder(android.widget.SimpleAdapter.ViewBinder)

?

public void?setDropDownViewResource?(int resource)

設置創建下拉視圖的布局資源

參數

?????? resource???????定義下拉視圖的布局資源

參見

getDropDownView(int, android.view.View, android.view.ViewGroup)

?

public void?setViewBinder?(SimpleAdapter.ViewBinder?viewBinder)

設置binder用于綁定數據到視圖

參數

?????? viewBinder????用于綁定數據到視圖的binder可以設置為null,可用于刪除存在的binder

參見

getViewBinder()

?

public void?setViewImage?(ImageView?v, int value)

調用bindView去給ImageView設置圖像,但只有當ViewBinder不存在或者如果存在的ViewBinder無法處理綁定到一個ImageView時才調用。如果提供的數據是一個整形時,setViewImage(ImageView, String)方法將被本方法替代

參數
????????????? v?????
接收圖像的ImageView

value??????從數據集獲取數據到值

??????????????參見

setViewImage(ImageView, String)

?

public void?setViewImage?(ImageView?v,?String?value)

調用bindView去給ImageView設置圖像,但只有當ViewBinder不存在或者如果存在的ViewBinder無法處理綁定到一個ImageView時才調用。默認的,這個值被作為一個圖像資源來對待。如果這個值作為一個圖像的Uri來使用。如果提供的數據不是一個整形時,setViewImage(ImageView, int)方法將被本方法替代

參數

?????? v?????接收圖像的ImageView

value??????從數據集獲取數據到值

參見

setViewImage(ImageView, int)

?

public void?setViewText?(TextView?v,?String?text)

調用bindView去給TextView設置文本,但只有當ViewBinder不存在或者如果存在的ViewBinder無法處理綁定到一個TextView時才調用

參數

?????? v?????將接收文本的TextView

text?被設置到TextView的文本?

?

  五、補充

    文章精選

      簡約而不簡單——Android SimpleAdapter

      android listview組件之ArrayAdapterSimpleAdapter

      Android用simpleAdapter來直接顯示BMP圖片(有ViewBinder用法

    示例代碼

?

?

private?ListView?lv;
????
private?List<Map<String,String>>?data;
????
private?SimpleAdapter?sAdapter;

lv?
=?(ListView)findViewById(R.id.listview);?????
data?
=?new?ArrayList<Map<String,?Object>>();
????
for?(int?i?=?0;?i?<?10;?i++)?{
????????????Map
<String,?Object>?map?=?new?HashMap<String,?Object>();
????????????map.put(
"title",?"APPLE");
????????????map.put(
"content",?"can?eat");
map.put(
"check",?true);
map.put(
"check1",?"true");
????????????map.put(
"image",?R.drawable.icon);
????????????data.add(map);
}
sAdapter?
=?new?SimpleAdapter(getApplicationContext(),?
????????????????data,?
????????????????R.layout.item,?
????????
new?String[]{"title","content","check","check1","image"},
????????
new?int[]{R.id.title,R.id.content,R.id.check,R.id.check1,?R.id.image});
lv.setAdapter(sAdapter);


?本文轉自over140 51CTO博客,原文鏈接:http://blog.51cto.com/over140/582592,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的Android 中文API (46) —— SimpleAdapter的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。