Android 适配器

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);
            }   
        });   
    }   
}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值