編輯:關於android開發
使用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:數據源,將用於被解析
Android MediaPlayer 音樂播放 主要使用 android.media.MediaPlayer; android.widget.SeekBar; &nbs
redis master-slave 切換演練redis master-slave 切換演練環境IP地址端口屬性192.168.31.2086379master192.1
全新的手勢,側滑返回、全局右滑返回都OUT啦!,全局out前言 Android快速開發框架-ZBLibrary 最近將以前的 全局右滑返回 手勢功能改成了 底部左右滑動手
Android基礎入門教程——8.4.4 Android動畫合集之屬性動畫-又見 1.Evaluator自定義 1)Evaluator介紹