本文共 2052 字,大约阅读时间需要 6 分钟。
spinners 提供一种从一组选项中快速的选择一个。在默认状态下,spinner显示当前的默认值,触摸spinner组件的话,会显示一个下来菜单,提供所有可以选择的值,供用户选择一个新的选项. 你可以在layout文件中添加spinner组件,如下所示。 <Spinner android:id="@+id/planets_spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" /> 当时spinner的下来菜单中的选项是从哪里来的呢?答案是从spinnerAdapter中来.如果可选项是以数组的方式提供,一般使用arrayAdapt,如果是一个数据库的方式提供,则使用CursorAdapter.下面我们看一个arrayAdapt的例子 一般现在资源文件中添加一个字符数组,如下所示: <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="planets_array"> <item>Mercury</item> <item>Venus</item> <item>Earth</item> <item>Mars</item> <item>Jupiter</item> <item>Saturn</item> <item>Uranus</item> <item>Neptune</item> </string-array> </resources> 然后可以在你的activity 中找到spinner组件并设定它的adapt,code如下所示: Spinner spinner = (Spinner) findViewById(R.id.spinner); // Create an ArrayAdapter using the string array and a default spinner layout ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item); // Specify the layout to use when the list of choices appears adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // Apply the adapter to the spinner spinner.setAdapter(adapter); createFromResource 运行你从字符数组中创建一个ArrayAdapt.android.R.layout.simple_spinner_item sh是由Android 系统提供的,表示字符数组中的每一项在spinner中的样式. 还需要调用setDropDownViewResource(int)来指定显示spinner 选项list中的layout adapt. 最后调用spinner.setAdapter(adapter);来设定adapt. 那我们是怎么知道当前用户选择spinner中的哪一项呢? 这就需要我们实现 AdapterView.OnItemSelectedListener接口,如下所示: public class SpinnerActivity extends Activity implements OnItemSelectedListener { ... public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { // An item was selected. You can retrieve the selected item using // parent.getItemAtPosition(pos) } public void onNothingSelected(AdapterView<?> parent) { // Another interface callback } } 这时就可以通过pos 获得用户选择array中的哪一项 最后就要setOnItemSelectedListener 来告诉spinner这个实现这个接口的毁掉函数. Spinner spinner = (Spinner) findViewById(R.id.spinner); spinner.setOnItemSelectedListener(this);转载地址:http://ztcmi.baihongyu.com/