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

来源:互联网 发布:索尼kdl55r580c装软件 编辑:程序博客网 时间:2024/06/06 19:20

适配器:抽象的说,适配器可以为多个不相关的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 用矩阵来绘制 。

0 0
原创粉丝点击