Android中文API (39) —— AbsSpinner

简介:

一、结构

    public abstract class AbsSpinner extends AdapterView<T extends Adapter>

 

    java.lang.Object

    android.view.View

      android.view.ViewGroup

                  android.widget.AdapterView<T extends android.widget.Adapter>

                       android.widget.AbsSpinner

二、概述

    下拉列表的基类。 Sdk可能不再使用到该类(译者注:我认为是过时了)

三、XML属性

属性名称

描述

android:entries

引用一个数据源填充Spinner。对于静态内容,这是一种比编程填充Spinner更简单的方式 


四、公共方法

         public SpinnerAdapter getAdapter ()

  返回与当前部件相关联的适配器

     返回值

                 该适配器用于提供视图内容

public int getCount ()

返回值

            与此相关的适配器AdapterView所拥有的项目数量。(这个数据项,可能比显示的视图数据量还大。)

public View getSelectedView ()

返回值

 这个视图对应当前选择的项,或者如果不选择视图则为null 

  public void onRestoreInstanceState (Parcelable state)

  允许视图重新应用以前通过onSaveInstanceState()生成代表内部的状态。这个函数决不能以一个空值状态被调用。

    参数

state  返回以前调用onSaveInstanceState()保存下来的状态。 

public Parcelable onSaveInstanceState ()

允许视图生成一个代表内部的状态,以后可用于创建一个与之相同的新的实例。这个状态只可包含那些暂时的或不能被重建的信息。例如,你无法将你目前的位置保存在屏幕上,因为当有一个新的对象出现在这个视图层次上就会自动重新计算。

以下有些实例:当光标停留在一个文本视区上(但是通常来说不能是实文档,因为那个是己储存在内容提供者或者其它长久储存器中),当前所选的项位于一个列表视图中

返回值

返回一个Parcelable对象包含了当前视图动态状态,或者返回null如果没有保存,默认返回值为null

public int pointToPosition (int x, int y)

映射到列表中的一个坐标(译者注:根据这个坐标可以确定点击的是哪一个item,看这里

参数

     局部坐标X(译者注:列表范围内的坐标X

     局部坐标Y(译者注:列表范围内的坐标Y

          返回值

返回这个位置包含的指定点(译者注:返回坐标(item)在列表中的顺序),如果这2个点不相交返回INVALID_POSITION

public void requestLayout ()

重写以防止布局视图时出现大量布局要求。(译者注:这个方法通常在视图认为它自己不再合适它当前的边界的情况下被调用)

public void setAdapter (SpinnerAdapter adapter)

该适配器用于提供数据支持这个Spinner。他还提供了改变基于他们选择的相对位置 的选定项

参数

adapter SpinnerAdapter用于下拉列表 

public void setSelection (int position, boolean animate)

直接跳到数据适配器中指定项

public void setSelection (int position)

设置当前选中项,为了支持可访问的子类重写此方法,必须首先调用父类的方法。

参数

position 索引,被选中的数据项(0开始)

五、受保护方法

      protected ViewGroup.LayoutParams generateDefaultLayoutParams ()

  返回默认设置的布局参数。这些参数是在请求传递给addView(View)还没有布局的时候已经设置好了的。如果是返回null,则从addView抛出一个异常

  返回值

  参数的默认布局或null

本文转自博客园农民伯伯的博客,原文链接:Android中文API (39) —— AbsSpinner,如需转载请自行联系原博主。

         


目录
相关文章
|
9月前
|
Android开发
Android 11 修改libcore update-api 遇到的问题
Android 11 修改libcore update-api 遇到的问题
253 1
|
6月前
|
编译器 API Android开发
Android经典实战之Kotlin Multiplatform 中,如何处理不同平台的 API 调用
本文介绍Kotlin Multiplatform (KMP) 中使用 `expect` 和 `actual` 关键字处理多平台API调用的方法。通过共通代码集定义预期API,各平台提供具体实现,编译器确保正确匹配,支持依赖注入、枚举类处理等,实现跨平台代码重用与原生性能。附带示例展示如何定义跨平台函数与类。
187 0
|
8月前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
98 2
|
8月前
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析
|
9月前
|
SQL API Android开发
Android API:Activity.managedQuery()
Android API:Activity.managedQuery()
60 2
|
9月前
|
API Android开发
Android Framework增加API 报错 Missing nullability on parameter
Android Framework增加API 报错 Missing nullability on parameter
401 1
|
9月前
|
API 定位技术 开发工具
Android Studio2021.1.1 高德地图api调用这一篇就够了
Android Studio2021.1.1 高德地图api调用这一篇就够了
|
9月前
|
API Android开发
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
116 3

热门文章

最新文章

  • 1
    如何修复 Android 和 Windows 不支持视频编解码器的问题?
  • 2
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 4
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 5
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 6
    【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 7
    Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 9
    快速调用 Deepseek API!【超详细教程】
  • 10
    如何调用 DeepSeek-R1 API ?图文教程