Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 關於SimpleAdapter和ListView結合使用,實現列表視圖的筆記,simpleadapter

關於SimpleAdapter和ListView結合使用,實現列表視圖的筆記,simpleadapter

編輯:關於android開發

關於SimpleAdapter和ListView結合使用,實現列表視圖的筆記,simpleadapter


使用ListView需要為其添加適配器:

  適配器有兩種:1.ArrayAdapter   --用於單獨文字顯示

         2.SimpleAdapter --用於文字和圖片顯示

  這裡主要記錄SimpleAdapter:

    先看SimpleAdapter的構造函數:

  SimpleAdapter(context,data,resource,from,to)

  --context:上下文,其實就是指的activity本身

  --data:數據源:一個包含了map的List集合;List裡的每一個元素都是一個Map集合,Map是包含多組鍵值對

  --resource:布局文件,可以自己寫,在R.Layout下可以獲得,布局中對應元素的總和,全部可以儲存在Map中

  --from:一個String[]數組,對應Map中的key元素的,類似於起名字 

  --to:在從Map中獲取對應key的值後,儲存進去具體的值

  下面是具體的例子

  工具:Android studio

  首先寫布局文件:item.xml,存放在layou文件夾下

  

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/itempic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:src="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/itemtext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="demo"
        android:textSize="40sp" />
</LinearLayout>

 

  在MainActivity下實例接收ListView和SimpleAdapter對象

private ListView listView;
   // private ArrayAdapter<String> adapter;
    private SimpleAdapter si_adapter;
    //list集合是抽象集合,實例化其實例對象ArrayList
    private List<Map<String,Object>> simpleData;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = (ListView)findViewById(R.id.listView);
        simpleData=new ArrayList<Map<String,Object>>();
        si_adapter=new SimpleAdapter(this,getData(),R.layout.item,new String[]{"pic","text"},new int[]{R.id.itempic,R.id.itemtext});
        listView.setAdapter(si_adapter);
    }

  上面的getdate()方法:

   public List<Map<String,Object>> getData(){

        for(int i=0;i<20;i++){
            Map<String,Object> map=new HashMap<String,Object>();
        //填入真實的pic信息 map.put("pic",R.mipmap.ic_launcher);
        //填入真實的text信息 map.put("text","機器人"+i+"號"); simpleData.add(map); } return simpleData; }

  將SimpleAdapter適配器添加到ListView中去。

  分析:SimpleAdapter對數據的解析

  布局文件:決定的數據的視圖化呈現方式

  from:為每一個元素限定一個特定的符號

  to:  每一個元素在XML中的對應情況

  data:數據源,將用於被解析

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved