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