日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Android中Adapter之SimpleCursorAdapter使用

 Go_Ahead 2012-11-19
         此Adapter(SimpleCursorAdapter)是Android專門為了連接數(shù)據(jù)庫(kù)與視圖而產(chǎn)生的.此例中借助ListView體現(xiàn)SimpleCursorAdapter的用法。因?yàn)?,ListView在android中是比較常用的視圖組件,不論是靜態(tài)還是動(dòng)態(tài)都可以在其上顯示。當(dāng)然,在實(shí)際的android項(xiàng)目中需要顯示的數(shù)據(jù)一般都是動(dòng)態(tài)從數(shù)據(jù)庫(kù)表中獲取的。而SimpleCursorAdapter就是將從數(shù)據(jù)庫(kù)表中獲取的數(shù)據(jù)顯示到ListView的橋梁。
         在做的時(shí)候,可以將SimpleCursorAdapter與前面的SimpleCursorAdapter進(jìn)行對(duì)比一下,你會(huì)發(fā)現(xiàn)二者的使用非常相似:
          1.在new xxxAdapter時(shí)候, 如下 ,紅色字體,
               SimpleCursorAdapter adapter = new SimpleCursorAdapter(
                                                                                                  this,
                                                                                                  android.R.layout.simple_expandable_list_item_1,
                                                                                                  cursor,
                                                                                                  new String[]{People.NAME},
                                                                                                  new int[]{android.R.id.text1}
              );
              SimpleAdapter adapter = new SimpleAdapter(
                                                                                       this,
                                                                                       allInfos ,
                                                                                       R.layout.simple_adapter_view,
                                                                                       new String[]{"img","name","phone","region"},
                                                                                       new int[]{R.id.info_img,R.id.info_name,R.id.info_phone,R.id.info_region}
          )
 紅色字體部分,即二者的數(shù)據(jù)源類型不同,SimpleCursorAdapter 的數(shù)據(jù)源是一個(gè)從數(shù)據(jù)庫(kù)表中查詢出來(lái)的數(shù)據(jù)集合cursor;而SimpleAdapter的數(shù)據(jù)源allInfos list集合(當(dāng)然也可以是數(shù)組等),可以看到一個(gè)是動(dòng)態(tài)一個(gè)是靜態(tài)的數(shù)據(jù)。
 
這里使用的SimpleCursorAdapter只是一個(gè)簡(jiǎn)單的例子,用的是系統(tǒng)表,當(dāng)然你可以自己建立一個(gè)表應(yīng)用在此例中,activity代碼:
public class SimpleCursorAdapterTest extends Activity{
 private ListView listView;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
                 super.onCreate(savedInstanceState);
                 listView = new ListView(this);
                 Cursor myCursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null);//是系統(tǒng)里的表
                 startManagingCursor(myCursor);
                 ListAdapter listAdapter = new SimpleCursorAdapter(
                                                                                                   this, //上下文
                                                                                                   android.R.layout.simple_expandable_list_item_1, //要顯示的listview的樣式
                                                                                                   myCursor, //數(shù)據(jù)源
                                                                                                   new String[]{People.NAME}, //所對(duì)應(yīng)的字段
                                                                                                   new int[]{android.R.id.text1}   //上面的字段顯示在界面上的那個(gè)控件
                 );
                 listView.setAdapter(listAdapter);
                 setContentView(listView);
 }
}
       值得注意的一點(diǎn),不要忘了在AndroidManifest.xml文件中聲明訪問(wèn)系統(tǒng)表的權(quán)限:<uses-permission android:name="android.permission.READ_CONTACTS"/>
如果該系統(tǒng)表中還沒(méi)有數(shù)據(jù),此時(shí),所顯示出來(lái)的ListView是空的,沒(méi)有數(shù)據(jù)的。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多