ListView组件总结

该组件有三种设计方案,每种设计方案以相对应的adapter定义,有ArrayAdapter,SimpleAdapter,自定义adapter三种方案。

1.ArrayAdapter:嵌入简单的字符串,文本等。

首先在xml中定义ListView组件:


然后编写对应的ArrayAdapter:操作字符文本:

Private ListView list;
Private ArrayAdapter adapter;
Private List<String> values;
Adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,values);
//通过adapter把数据和xml(ListView)绑定.
List.setAdapter(adapter);

2.SimpleAdapter:对页面布局文件可进行简单的编辑。

第1步,设计ListView:

Activity_main.xml:同上图


接着创建一个xml文件(list_line.xml)进行布局设计。

第2步:编写SimpleAdapter:

Private ListView list;
Private SimpleAdapter adapter;
Private List<Map<String,Object>> values;
Adapter = new SimpleAdapter(this,values,R.layout.list_line,new String[]{key1,key2,..},
new value[]{R.id....});
list.setAdapter(adapter);


3.自定义Adapter :自定义布局,插入图片,文本等

第1步:设计ListView。

Activity_main.xml:同上图。

接着创建xml(list_view.xml),布局。

第2步:编写自定义adapter

一般使用TextView来存放静态图片,使用ImageView存放动态图片

创建自定义adapter类并继承BaseAdapter:

Public class MyAdapter extends BaseAdapter{
    Private Context ctx;
    Private List<Map<String, Object>> values;
    Public MyAdapter(Context ctx,List<Map<String,Object>> values){
        This.ctx=ctx;
        This.values=values;
    }
    @Override
    Public int getCount(){}
    Public Objec getItem(int position){}
    Public long getItemId(int position){}
    Public View getView(int position,View contextView, ViewGroup parent){
       If(contextView==null) {
        contextView = LayoutInflater.from(ctx).inflate(R.layout,list_view,null);
<span style="white-space:pre">	</span>//设置lListView中每一行的宽和高的变量值           
<span style="white-space:pre">	</span>contextView.setLayoutParams(new AbsListView.LayoutParams(ViewGroup.layoutparams.Match_PARENT,Globlas.SCREEN_HEIGHT/8));
       }
       .........
     //设置图片的高
     Img.setlayoutParams().height = Globals.SCREEN_HEIGHT/10;
    }
}

第3步:绑定

Private ListView list;
Private MyAdapteradapter;
PrivateList<Map<String,Object>> values;
Adapter = newMyAdapter(this,values};
List.setAdapter(adapter)





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值