andriod的可视化UI组件之下拉列表和常用适配器以及选中spinner的item的响应

来源:互联网 发布:boot repair ubuntu 编辑:程序博客网 时间:2024/05/10 00:24

andriod的可视化UI组件 可简单分下类:

1.UI类都是view的子类,最主要的是viewgroup,也就是布局类。

2.Basic view 。按钮button  edieText textview

3.picker view,你包括时间和日期

4,list view与 spiner  大量显示view

5.Menus 菜单view

本文主要记录下spiner下拉列表:

1.在String.xml中的Resources节点下加入

<string-array name="spinnerDate">

<item>XXX</item>

<item>YYY</item>

<item>ZZZ</item>

<item>WWW</item>

</string-array>

2.在布局文件中加入:

  下拉列表显示

<Spinner 

andriod:id="@id/spinner"

andriod:layout_width="wrap_content"

andriod:layout_height="wrap_content"

andriod:entries="@array/spinnerDate"

/>

弹出框显示

<Spinner 

andriod:id="@id/spinner1"

andriod:layout_width="wrap_content"

andriod:layout_height="wrap_content"

andriod:spinnerMode="@array/spinnerDate"

andriod:spinnerMode=“dialog”

/>

当然也可以在在代码中动态得到下拉显示。

private String[] ss=new String[] {

"xx","yy","zz"

}

private List<> list1=newArrayList<>();

在onCreate下:

//数据源需要放入list或Array,但官方只提供一adapter适配器模式(将需要交换数据的对象通过适配的接口适配给所有用户使用)。

//将一组数据传递给listView Spinner Gallery等UI显示组件。所有的Adapter继承自BaseAdapter。

eg:

list.add("XX");

list.add("yy");

list.add("zz");

Spinner spin=(Spinner)findViewById(R.id.spinner);

BaseAdapter adapter =new MyAdapter();

spin.setAdapter();//会使用adapter方法查抄数据

//建立一个适配器:

private class MyAdapter extends BaseAdapter{

@override

public int getCount(){

return ss.length; //循环String遍历,返回数据源长度  

return list.size ; //循环list遍历,返回数据源长度  

}

@override

public Object  getItem(int position){

return null; //返回数据源长度

}

@override

public View getView (int position,View converView,ViewGroup parent){

//此处可以填写所要显示的下拉内容

return null; //每次获取一次生成一个下拉列表的内容

}

}

第二种建立适配器方法:

ArrayAdapter<String> adapter =new ArrayAdapter<String>(this,自己写的布局或者R.layout.simple_spinner_item(默认布局),ss);

============================S=======================

最后当选中item时的的响应处理:

spinner.setOnItemSelectListener( new OnItemSelectListener){

@override

public void onItemSelected(AdapterView<?> arg0,View arg1,int position,long id){

//方法1

}


@override

public void onNothingSelected(AdapterView<?> arg0){

//方法2

}

});

===============常用适配器======================

baseAdapter需要重写方法,灵活。

ArrayAdapter 数组适配器,展示文本

SimpleAdapter 功能强大的简约适配器

SimpleCusorAdapter 数据库适配器

阅读全文
0 0