android-ListView空间的使用

生也有涯,知也无涯。这篇文章主要讲述android-ListView空间的使用相关的知识,希望能为你提供帮助。
一、深刻理解ListView
 
二、熟练使用两种适配器:ArrayAdapter、SimpleAdapter
  数据适配器作用:
将复杂的数据填充在指定界面上(数组、集合、链表、数据库...),即连接数据源和视图界面的桥梁。
(1)数组适配器:ArrayAdapter
用于绑定格式单一的数据(数据源:数组、集合);
          (2)简单适配器:SimpleAadpter
用于绑定格式复杂的数据(数据源:只能是特定泛型的集合);
 
实现过程:新建适配器、添加数据源到适配器、视图加载适配器;
MainActivity文件:
 
package com.example.mylistview;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;
 

public class MainActivity extends ActionBarActivity {
 
  private ListView listView;
  //private ArrayAdapter< String> arr_adapter;
  private SimpleAdapter simp_adapter;
 
  private List< Map< String,Object> > dataList;
 
      @Override
      protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_menu);
             
              listView=(ListView) findViewById(R.id.listView);
              /*
                * 数组适配器:
                * 0、生成一个数据源
                * 1、新建一个适配器并加载数据源
                *     数组适配器三个参数:
                *       上下文、当前ListView加载的列表项所对应的布局文件、数据源
                * 2、使用视图加载适配器
                *
                * */
             
              //String []arr_data=https://www.songbingjia.com/android/{"马轩","选吗","马车","活吗","龙马","天马","赵称","赵晨","真唱","注册","向日葵","徐荣凯","谢荣康"};
              //arr_adapter=new ArrayAdapter< String> (this, android.R.layout.simple_list_item_1, arr_data);
              //listView.setAdapter(arr_adapter);
             
              /*
                * 简单适配器:
                *   参数:上下文
                *
                *     数据源List< ? extends Map< String,?> >   一个map所组成的list集合,
                *       每一个map对应listView列表中的一行
                *       每一个Map中的键必须包含所有在from中所指定的键
                *    
                *     列表项的布局文件   
                *
                *     记录map中的键名
                *
                *     绑定数据视图中的id,与from对应
                * */
             
              dataList=new ArrayList< Map< String,Object> > ();
              simp_adapter=new SimpleAdapter(this, this.getData(), R.layout.activity_menusimp, new String[]{"pic","text"}, new int[]{R.id.pic,R.id.text});
             
              listView.setAdapter(simp_adapter);
             
             
      }
     
      private List< Map< String,Object> > getData(){
       
        for (int i = 0; i < 20; i++) {
     
          Map< String,Object> map=new HashMap< String, Object> ();
          map.put("pic", R.drawable.ic_logo);
          map.put("text", "谢荣康");
          dataList.add(map);
    }
        return dataList;
      }
}
activity_menu.xml文件:
< ?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="vertical" >
      < ListView
              android:id="@+id/listView"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" >
      < /ListView>
< /LinearLayout>
 
  activity_menusimp.xml文件
< ?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/pic"
              android:layout_width="86dp"
              android:layout_height="100dp"
              android:layout_marginLeft="15dp"
              android:src="https://www.songbingjia.com/android/@drawable/ic_logo" />
      < TextView
              android:id="@+id/text"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="demo"
              android:textColor="#000000"
              android:textSize="20sp" />
     
< /LinearLayout>
 
 
 
 
【android-ListView空间的使用】三、熟练运用两种监听器:OnScrollListener、OnItemClickListener

    推荐阅读