如何使用适配器的 与ListView、Spinner、GirdView 等组件进行数据绑定

这篇博客介绍了Android中适配器的作用,以ArrayAdapter为例详细阐述了如何使用适配器与ListView进行数据绑定。同时讲解了ListView的基本使用,包括如何设置适配器填充数据和添加监听器。此外,还提到了GridView的配置和显示选项的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

适配器:抽象的说,适配器可以为多个不相关的API提供一个公共的接口。具体到Android来讲,适配器为基于选择的组件(如列表框)背后的数据模型提供了一个公共的接口。Java接口的这种用法非常普遍,如在java/Swing中针对JTable的模型适配器。

ArrayAdapter适配器:

String[] items={“this”,”is”,”really”,”silly”,”list”};

ArrayAdapter dapter=new ArrayAdapter<String>(this.android.R.layout.simple_llist_item_1,items);

ArrayAdapter需要三个参数:

1、要使用的上下文(通常就是Activity实例)。

2、要使用的视图资源ID(通常可以使用系统内置的资源ID)。

3、要现实的内容(即选项数组或列表)

ListView:ListView其实是一个可以滚动的列表集合。ListView中的列表项可以通过适配器进行自动填充。在布局中包含一个ListView元素。在java代码中调用setAdapter()方法提供数据以及子视图。还可以通过setOnItemSelectedListener()添加监听器,判断哪个数据项被选定。

ListView的Activity

/获取ListView引用

ListView list=(ListView)findViewById(R.id.list);

  //适配器填充数据

list.setAdapter(new ArrayAdapter<String>(this, 

                     android.R.layout.simple_list_item_1, 

                     items)); 

  selection=(TextView)findViewById(R.id.selection); 

  //注册监听

list.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,

long arg3) {

 selection.setText(items[arg2]); 

ListView的ListActivity

public class ListViewDemo extends ListActivity { 

  ......

  @Override 

  public void onCreate(Bundle icicle) { 

    super.onCreate(icicle); 

    setContentView(R.layout.main); 

    setListAdapter(new ArrayAdapter<String>(this, 

                       android.R.layout.simple_list_item_1, 

                       items)); 

    selection=(TextView)findViewById(R.id.selection); 

  } 

  public void onListItemClick(ListView parent, View v, int position, long id) { 

   selection.setText(items[position]); 

  } 

}

GridView:提供一个可供选择的二维选项网络。

android:numColumns:

指定网格中包含多少列;或者可以指定auto_fit,表示Android就会根据可用空间大小和下面属性的设置来计算列数。

android:verticalSpacing和android:horizontalSpacing:

指定网格中选项之间的垂直和水平间距。

android:columnWidth:指定每一列的像素宽度 

CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
 FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示
FIT_END / fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
FIT_START / fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
FIT_XY / fitXY 把图片不按比例扩大/缩小到View的大小显示
MATRIX / matrix 用矩阵来绘制 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值