Android中文API (39) —— AbsSpinner
前言
本章内容是 android.widget.AbsSpinner,版本为Android 2.2 r1,翻译来自"思考的狼",欢迎大家访问他的博客:http://blog.163.com/sikaodelang@126/ ,再次感谢"思考的狼" !期待你一起参与Android API 的中文翻译,联系我over140@gmail.com。
声明
欢迎转载,但请保留文章原始出处:)
Android中文翻译组:http://www.cnblogs.com/over140/
正文
一、结构
public abstract class AbsSpinner extends AdapterView<T extends Adapter>
java.lang.Object
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(译者注:列表范围内的坐标X)
y 局部坐标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