BaseAdapter、ArrayAdapter、SimpleAdapter、CursorAdapter
PagerAdapter、FragmentPagerAdapter、FragmentPagerAdapter、GalleryAdapter
====================PagerAdapter====================
PagerAdapter 必须重写的四个函数:
boolean isViewFromObject(View arg0, Object arg1) //
int getCount() //返回要滑动的VIew的个数
void destroyItem(ViewGroup container, int position,Object object) //从当前container中删除指定位置(position)的View;
Object instantiateItem(ViewGroup container, int position) //第一:将当前视图添加到container中,第二:返回当前View
====================FragmentPagerAdapter====================
FragmentPagerAdapter:子类只要实现 getItem(int) 和 getCount()方法。
====================数据源的区别====================
1. String[]: ArrayAdapter
2. List<Map<String,?>>: SimpleAdapter
3. 数据库Cursor: SimpleCursorAdapter
====================ArrayAdapter====================
ArrayAdapter
public class tbfActivity extends Activity {
private ListView listV;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tbf_main);
listV = (ListView) findViewById(R.id.meeting_chat_listview);
ArrayList<String> list = new ArrayList<String>();
list.add("LinearLayout");
list.add("AbsoluteLayout");
list.add("TableLayout");
list.add("RelativeLayout");
list.add("FrameLayout");
list.add("RelativeLayout");
list.add("FrameLayout");
list.add("RelativeLayout");
list.add("FrameLayout");
ArrayAdapter<String> myArrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
listV.setAdapter(myArrayAdapter);
}
}
====================SimpleAdapter====================
SimpleAdapter,图片展示
public class imgActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SimpleAdapter adapter = new SimpleAdapter(
this,getData(),
R.layout.img,
new String[]{"img"},
new int[]{R.id.img});
setListAdapter(adapter);
}
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("img", R.drawable.i798);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.i798);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.i798);
list.add(map);
return list;
}
}
--------------------------------------
public class llActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SimpleAdapter adapter = new SimpleAdapter(
this,getData(),
R.layout.lll,
new String[]{"title"},
new int[]{R.id.title});
setListAdapter(adapter);
}
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("title", "测试数据1");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "测试数据2");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "测试数据3");
list.add(map);
return list;
}
}
----------------------------------------------------------------------------------------------------
public class MyListActivity extends Activity {
/** Called when the activity is first created. */
//声明ListView对象
ListView myListView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//生成ListView对象
myListView=(ListView)findViewById(R.id.myListView);
//创建ArrayList对象 并添加数据
ArrayList<HashMap<String,String>> myArrayList=new ArrayList<HashMap<String,String>>();
for(int i=0;i<10;i++){
HashMap<String, String> map = new HashMap<String, String>();
map.put("itemTitle", "This Is Title "+i);
map.put("itemContent", "This Is Content "+i);
myArrayList.add(map);
}
//生成SimpleAdapter适配器对象
SimpleAdapter mySimpleAdapter=new SimpleAdapter(this,
myArrayList,//数据源
R.layout.list_item,//ListView内部数据展示形式的布局文件listitem.xml
new String[]{"itemTitle","itemContent"},//HashMap中的两个key值 itemTitle和itemContent
new int[]{R.id.itemTitle,R.id.itemContent});/*布局文件listitem.xml中组件的id
布局文件的各组件分别映射到HashMap的各元素上,完成适配*/
myListView.setAdapter(mySimpleAdapter);
//添加点击事件
myListView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//获得选中项的HashMap对象
HashMap<String,String> map=(HashMap<String,String>)myListView.getItemAtPosition(arg2);
String title=map.get("itemTitle");
String content=map.get("itemContent");
//方式1 当前页显示数据
/*Toast.makeText(getApplicationContext(),
"你选择了第"+arg2+"个Item,itemTitle的值是:"+title+"itemContent的值是:"+content,
Toast.LENGTH_SHORT).show(); */
//方式2 跳转页面传递数据
Intent intent = new Intent(MyListActivity.this,detailActivity.class);
intent.putExtra("lv_item_title", title);
startActivity(intent);
}
});
}
}
PagerAdapter、FragmentPagerAdapter、FragmentPagerAdapter、GalleryAdapter
====================PagerAdapter====================
PagerAdapter 必须重写的四个函数:
boolean isViewFromObject(View arg0, Object arg1) //
int getCount() //返回要滑动的VIew的个数
void destroyItem(ViewGroup container, int position,Object object) //从当前container中删除指定位置(position)的View;
Object instantiateItem(ViewGroup container, int position) //第一:将当前视图添加到container中,第二:返回当前View
====================FragmentPagerAdapter====================
FragmentPagerAdapter:子类只要实现 getItem(int) 和 getCount()方法。
====================数据源的区别====================
1. String[]: ArrayAdapter
2. List<Map<String,?>>: SimpleAdapter
3. 数据库Cursor: SimpleCursorAdapter
====================ArrayAdapter====================
ArrayAdapter
public class tbfActivity extends Activity {
private ListView listV;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tbf_main);
listV = (ListView) findViewById(R.id.meeting_chat_listview);
ArrayList<String> list = new ArrayList<String>();
list.add("LinearLayout");
list.add("AbsoluteLayout");
list.add("TableLayout");
list.add("RelativeLayout");
list.add("FrameLayout");
list.add("RelativeLayout");
list.add("FrameLayout");
list.add("RelativeLayout");
list.add("FrameLayout");
ArrayAdapter<String> myArrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
listV.setAdapter(myArrayAdapter);
}
}
====================SimpleAdapter====================
SimpleAdapter,图片展示
public class imgActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SimpleAdapter adapter = new SimpleAdapter(
this,getData(),
R.layout.img,
new String[]{"img"},
new int[]{R.id.img});
setListAdapter(adapter);
}
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("img", R.drawable.i798);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.i798);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.i798);
list.add(map);
return list;
}
}
--------------------------------------
public class llActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SimpleAdapter adapter = new SimpleAdapter(
this,getData(),
R.layout.lll,
new String[]{"title"},
new int[]{R.id.title});
setListAdapter(adapter);
}
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("title", "测试数据1");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "测试数据2");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "测试数据3");
list.add(map);
return list;
}
}
----------------------------------------------------------------------------------------------------
public class MyListActivity extends Activity {
/** Called when the activity is first created. */
//声明ListView对象
ListView myListView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//生成ListView对象
myListView=(ListView)findViewById(R.id.myListView);
//创建ArrayList对象 并添加数据
ArrayList<HashMap<String,String>> myArrayList=new ArrayList<HashMap<String,String>>();
for(int i=0;i<10;i++){
HashMap<String, String> map = new HashMap<String, String>();
map.put("itemTitle", "This Is Title "+i);
map.put("itemContent", "This Is Content "+i);
myArrayList.add(map);
}
//生成SimpleAdapter适配器对象
SimpleAdapter mySimpleAdapter=new SimpleAdapter(this,
myArrayList,//数据源
R.layout.list_item,//ListView内部数据展示形式的布局文件listitem.xml
new String[]{"itemTitle","itemContent"},//HashMap中的两个key值 itemTitle和itemContent
new int[]{R.id.itemTitle,R.id.itemContent});/*布局文件listitem.xml中组件的id
布局文件的各组件分别映射到HashMap的各元素上,完成适配*/
myListView.setAdapter(mySimpleAdapter);
//添加点击事件
myListView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//获得选中项的HashMap对象
HashMap<String,String> map=(HashMap<String,String>)myListView.getItemAtPosition(arg2);
String title=map.get("itemTitle");
String content=map.get("itemContent");
//方式1 当前页显示数据
/*Toast.makeText(getApplicationContext(),
"你选择了第"+arg2+"个Item,itemTitle的值是:"+title+"itemContent的值是:"+content,
Toast.LENGTH_SHORT).show(); */
//方式2 跳转页面传递数据
Intent intent = new Intent(MyListActivity.this,detailActivity.class);
intent.putExtra("lv_item_title", title);
startActivity(intent);
}
});
}
}