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

 更新时间:2016年10月28日 10:20:25   投稿:lqh  
这篇文章主要介绍了Android Spinner与适配器模式详解相关资料,并附代码实例,需要的朋友可以参考下

最近做项目对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 RenderScript高斯模糊

    Android RenderScript高斯模糊

    这篇文章主要介绍了Android RenderScript高斯模糊的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • AsyncTask类实例详解

    AsyncTask类实例详解

    这篇文章主要介绍了AsyncTask类实例详解
    2017-10-10
  • Android实现百分比下载进度条效果

    Android实现百分比下载进度条效果

    这篇文章主要为大家详细介绍了Android实现百分比下载进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Android多种方式实现相机圆形预览的示例代码

    Android多种方式实现相机圆形预览的示例代码

    这篇文章主要介绍了Android多种方式实现相机圆形预览的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • AndroidStudio实现微信界面设计

    AndroidStudio实现微信界面设计

    这篇文章带你通过Androidstudio来实现微信的基础界面,微信的界面主要包含了主页、通讯录、发现以及我的账号功能区,下文包含了整个开发过程,以及解决该问题的过程及思路并提供了源码
    2021-10-10
  • android10 隐藏SystemUI锁屏下的多用户图标的示例代码

    android10 隐藏SystemUI锁屏下的多用户图标的示例代码

    这篇文章主要介绍了android10 隐藏SystemUI锁屏下的多用户图标,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Android切换卡TabWidget用法示例

    Android切换卡TabWidget用法示例

    这篇文章主要介绍了Android切换卡TabWidget用法,结合实例形式分析了TabWidget选项卡界面布局及功能实现的操作技巧,需要的朋友可以参考下
    2016-08-08
  • Android滑动拼图验证码控件使用方法详解

    Android滑动拼图验证码控件使用方法详解

    这篇文章主要为大家详细介绍了Android滑动拼图验证码控件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Android实现短信发送功能

    Android实现短信发送功能

    这篇文章主要介绍了Android实现短信发送功能,对Android实现短信发送的每一步都进行了详细的介绍,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • Android之小球自由碰撞动画示例

    Android之小球自由碰撞动画示例

    大家好,本篇文章主要讲的是Android之小球自由碰撞动画示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论