Android Spinner与适配器模式详解及实例代码

Rayna ·
更新时间:2024-11-13
· 953 次阅读

最近做项目对Android Spinner 使用,这里简单写个小例子,来测试如何使用。

Spinner

是一个下拉列表,往安卓界面中拖拽一个Spinner控件,在属性中设置Android:entries=“@array/spinner_data”
其中spinner_data为在string中设置的数组。数组中由固定写好的值。此时便可在界面设置好下拉列表。

<Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="17dp" android:entries="@array/spinner_data"/>

当然为了用户体验好,可以设置 android:spinnerMode="dialog"属性,可以使下拉列表有弹出框。

适配器:

适配器主要负责从数据源中抓取数据,传向各个UI组件。主要的适配器adapter由ArrayAdapter和BaseAdapter。 即适配器负责从某个数据源比如数组中得到数据传向Spinner,显示在界面上。

首先定义数据源

private String[] ss=new String[]{ "猫咪", "老虎", "狮子", };

数据源2

private List<String> list=new ArrayList<String>(); list.add("百度"); list.add("腾讯"); list.add("阿里巴巴");

其次定义一个类Myadapter继承与抽象类BaseAdapter,抽象方法有四个。

private class Myadapter extends BaseAdapter{ @Override public int getCount</span>() { // TODO Auto-generated method stub return ss.length; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView</span>(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub TextView textView=new TextView(MainActivity.this); textView.setText(ss[position]); return textView; }

然后再主函数中

Spinner spinner=(Spinner) findViewById(R.id.spinner1); BaseAdapter adapter=new Myadapter(); spinner.setAdapter(adapter);

先找到Spinner控件,并且实例化new一个adapter。通过adapter适配器来抓取数据源ss中的数据。

BaseAdapter适配器最重要的方法是getcount()以及getview()方法。前者返回数据源的长度,后者进行一些操作。

当然可以使用更简单的ArrayAdaper适配器。

Spinner spinner=(Spinner) findViewById(R.id.spinner1); ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,ss); spinner.setAdapter(adapter);

通过以上语句,可以直接定位在数组ss中。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:Android实现下拉菜单Spinner效果Android编程下拉菜单spinner用法小结(附2则示例)Android Spinner 下拉菜单的使用android 之Spinner下拉菜单实现级联Android实现三级联动下拉框 下拉列表spinner的实例代码Android中Spinner(下拉框)控件的使用详解Android下拉列表spinner的实例代码Android下拉列表(Spinner)效果(使用C#和Java分别实现)android下拉刷新ListView的介绍和实现代码Android编程之下拉菜单Spinner控件用法示例



spinner 适配器模式 Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号