android介面的定義
發布時間: 2024-09-14 11:06:29
⑴ android, new SimpleAdapter(....).....這里的定義是什麼意思啊求大神解釋下
new SimpleAdapter(...)里的定義意思:
第 1 個參數:是一個Context對象,它代表了訪問整個Android應用的介面。
第 2 個參數:該參數應該是一個List<? extends Map<String,?>>類型集合的對象,該集合中每個Map<String,?> 對象生成一個列表項。
第 3 個參數:該參數指定一個界面布局的ID。例如此處指定了R.layout.simple_item,這意味著使用/res/layout/simple_item.xml(需自己創建布局文件)文件作為列表項組件。
第 4 個參數:該參數應該是一個String[]類型的參數,該參數決定提取Map<String,?>對象中哪些key對應的value來生成列表項。
第 5 個參數:該參數應該是一個int[]類型的參數,該參數決定填充哪些組件(參數3上面的布局文件中的組件ID)。
代碼示例
java">importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.widget.ListView;
importandroid.widget.SimpleAdapter;
{
privateString[]names=newString[]{"張三","李四","王五","趙六"};
privateString[]descs=newString[]{"一個農民","一個長工","一個混混","一個捕快"};
privateint[]imageIds=newint[]{R.drawable.ic_launcher,
R.drawable.ic_launcher,R.drawable.ic_launcher,
R.drawable.ic_launcher};
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//創建一個List集合,List集合的元素是Map
List<Map<String,Object>>listItems=newArrayList<Map<String,Object>>();
for(inti=0;i<names.length;i++){
Map<String,Object>listItem=newHashMap<String,Object>();
listItem.put("header",imageIds[i]);
listItem.put("personName",names[i]);
listItem.put("desc",descs[i]);
listItems.add(listItem);
//創建一個SimpleAdapter
SimpleAdaptersimpleAdapter=newSimpleAdapter(this,listItems,
R.layout.simple_item,newString[]{"","",""},
newint[]{R.id.name,R.id.header,R.id.desc});
ListViewlistView=(ListView)findViewById(R.id.mylistView);
//為ListView設置Adapter
listView.setAdapter(simpleAdapter);
}
}
}
熱點內容