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

Spinner

是一个下拉列表,往安卓界面中拖拽一个Spinner控件,在属性中设置Android:entries=“@array/spinner_data”

其中spinner_data为在string中设置的数组。数组中由固定写好的值。此时便可在界面设置好下拉列表。

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 list=new ArrayList();

list.add("百度");

list.add("腾讯");

list.add("阿里巴巴");

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

private class Myadapter extends BaseAdapter{

@Override

public int getCount() {

// 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(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 adapter=new ArrayAdapter(this,android.R.layout.simple_spinner_item,ss);

spinner.setAdapter(adapter);

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

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

Android为spinner设置适配器,Android Spinner与适配器模式详解及实例代码相关推荐

  1. android 设置listview滚动条,Android ListView 滚动条的设置详解及实例代码

    Android ListView 滚动条的设置详解 1.滚动条的属性 android:scrollbarAlwaysDrawHorizontalTrack 设置是否始终显示水平滚动条.这里用Scrol ...

  2. android message 代码,Android Handler移除Message详解及实例代码

    Android Handler移除Message详解 问题: 1.removeMessage(what)函数是否只能移除对应what值的Message? 2.对于Delayed发送的Message,能 ...

  3. Android 轻松实现语音识别详解及实例代码

    使用Intent调用语音识别程序 说明 Android中主要通过RecognizerIntent来实现语音识别,其实代码比较简单,但是如果找不到语音识别设备,就会抛出异常 ActivityNotFou ...

  4. android xutils json请求,Android Xutils3网络请求的封装详解及实例代码

    Xutils3网络请求的封装详解 封装了一个Xutil3的网络请求工具类,分享给大家,本人水平有限,不足之处欢迎指出. 使用前先配置xutils3: 1.gradle中添加 compile 'org. ...

  5. input组件android,React-Native TextInput组件详解及实例代码

    同时适配Android和IOS 代码注释比较详细 /** * Sample React Native App * https://github.com/facebook/react-native * ...

  6. android sim卡分析,Android 判断SIM卡属于哪个移动运营商详解及实例

    Android 判断SIM卡属于哪个移动运营商 第一种方法: 获取手机的IMSI码,并判断是中国移动\中国联通\中国电信 TelephonyManager telManager = (Telephon ...

  7. android 动态水球,Canvas 制作动态进度加载水球详解及实例代码

    Canvas 动态进度加载水球 前言 之前看到一些球型的动态加载的效果,一直想自己动手做一个,正好这段时间重温了一个Canvas,所以就尝试了一下. 实现思路 关于水波的实现,使用了sin()函数,通 ...

  8. android+底部评论框,Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实例代码)...

    实现的效果图: 自定义Fragment继承BottomSheetDialogFragment 重写它的三个方法: onCreateDialog() onCreateView() onStart() 他 ...

  9. 生成jni的android.mk,Android Studio 3.5版本JNI生成SO文件详解

    学习在于记录,把自己不懂得容易忘记得记录下,才是最好得选择. 废话不多说,想要在Android开发中嵌入c/c++代码,直接开始如下步骤 1.创建需要调用的Java类 在你某个指定的包下创建如下类pa ...

最新文章

  1. AMESim R14 运行时出现许可证错误
  2. VTK:几何对象之Triangle
  3. SQL复习(w3school)笔记
  4. UI学习笔记---EasyUI panel插件使用---03
  5. Oracle 在安装时,安装文件的目录不能有汉字。
  6. [转载] 第一个Python CGI编程和配置
  7. DeepMind新建虚拟认识实验室,像研究人类一样研究AI(代码开源)
  8. Unity最新官方下载地址 - Unity Download
  9. 惠普打印机驱动服务器系统安装教程,最简单的安装惠普1020打印机驱动的方法...
  10. 猿人学爬虫攻防大赛 | 第五题: js混淆 乱码增强
  11. LoRa SX1278通信代码学习笔记
  12. 解决“DNS_PROBE_FINISHED_NXDOMAIN”,访问网站打不开问题
  13. 实战 target 选择器,解放生产力
  14. 王道机组笔记IEEE754
  15. hangfire入门
  16. 《HTTP权威指南》摘要
  17. 嵌入式在军工卫星应用手持终端领域的应用
  18. 图解http笔记 1.17
  19. 雷达和激光雷达_您应该知道的6种雷达下JavaScript工具
  20. PhysX3学习笔记2

热门文章

  1. you need to resolve your current index first 解决办法
  2. iView学习笔记(三):表格搜索,过滤及隐藏列操作
  3. BUAA-OO 第二单元作业“电梯调度”总结与思考
  4. Javascript DOM对属性的操作
  5. 用jenkins创建节点
  6. 位、字,字节与KB的关系?
  7. HDU - 5934
  8. jQuery高度及位置操作
  9. 毕业半年,码过5个城市
  10. XidianOJ 1123 K=1 Problem of Orz Pandas