Spinner下拉框功能使用

作者: dayang | 来源:发表于2016-11-30 21:38 被阅读2578次

spinner控件初始化时,会调用它的选择监听事件,默认选择第一个

一、Spinner比较好用的属性
  1. spinner的entries属性,就可以不用设置spinner的Adapter,也可以填充数据
<Spinner
   android:id="@+id/spCity"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:prompt="请选择城市"
   android:entries="@array/cities"/>
  1. spinner的spinnerMode属性,spinner显示为对话框或者是下拉框形式;

android:spinnerMode=["dialog"|"dropdown"]
prompt属性表示spinner列表上方的提示

spinnerMode="dialog"效果图,可以看到我们设置的提示符"请选择城市"
spinner_dialog.png
spinnerMode="dropdown"效果图
spinner_drop_item.png
二、设置spinner显示数据

使用Spinner布局文件使用的是系统默认的;使用创建ArrayAdapter两种方式,传入不同的数据源;

  • 使用xml文件作为数据源
private void initView(){
    city= (Spinner) findViewById(R.id.spCity);
    SpinnerAdapter  adapter=null;
    adapter=ArrayAdapter.createFromResource(this,R.array.cities,android.R.layout.simple_spinner_dropdown_item);
    city.setAdapter(adapter);
}
  • 使用数组或者是List作为数据数据源
ArrayList<String>list=new ArrayList<String>();
SpinnerAdapter adapter = 
new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
三、spinner点击事件处理
 city.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener() {
      @Override
      public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            //这个方法里可以对点击事件进行处理
            //i指的是点击的位置,通过i可以取到相应的数据源
}
      @Override
      public void onNothingSelected(AdapterView<?> adapterView) {
}
});
四、用代码来点击spinner

city.setSelection(1,true);
选择Spinner里的第二个数据;

相关文章

网友评论

    本文标题:Spinner下拉框功能使用

    本文链接:https://www.haomeiwen.com/subject/bjstmttx.html