Android中Spinner控件的使用(转)

1.创建Spinner控件

<Spinner
    android:id="@+id/spinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
/>

2.创建下拉框的数据源

List<String> list = new ArrayList<String>();
list.add("香蕉")
list.add("苹果")
list.add("橘子")
list.add("橙子")

3.创建适配器Adapter

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_items,list)

4.为适配器添加样式

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_items);

5.向控件spinner添加适配器

Spinner sp = (Spinner) findViewById(R.id.spinner);
sp.setAdapter(adapter);

6.实现选择项事件

sp.setOnItemSelectedListener(new OnItemSelectedListener()){
    public void onItemSelected(AdapterView<?> parent,View view, int position, long id){
        TextView tvResult = (TextView) findViewById(R.id.tvResult);
        
        ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter();
        tvResult.setText(adapter.getItem(position));
    }
}

public void onNothingSelected(AdapterView<?> parent){
}
});

7.整体代码

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        List<String> list = new ArrayList<String>();
        list.add("苹果");
        list.add("香蕉");
        list.add("橘子");
        list.add("香蕉");
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
        adapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice);
        Spinner sp = (Spinner) findViewById(R.id.spinner1);
        sp.setAdapter(adapter);
        sp.setOnItemSelectedListener(new OnItemSelectedListener() {
// parent: 为控件Spinner view:显示文字的TextView position:下拉选项的位置从0开始 
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            TextView tvResult = (TextView) findViewById(R.id.tvResult);
//获取Spinner控件的适配器
            ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter();
            tvResult.setText(adapter.getItem(position));
    }
//没有选中时的处理
        public void onNothingSelected(AdapterView<?> parent) {
        }
        });
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,995评论 22 665
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,527评论 25 709
  • 今天继续练习。 以前都是临摹随便画,当然现在还是临摹,但是也有看大大们的视频教程。 原来勾线也是有技巧的。 如何画...
    瞎了听不见阅读 1,553评论 0 2
  • 夏·雨 昨夜惊雷雨,今朝云非雾。 旦夕有不同,何不求灵素。 细看屋...
    微醉书剑阅读 1,553评论 4 7
  • 秦赵长平之战,双方总投入兵力逾百万之众,仅仅是战后被秦军坑杀的赵军降卒在史记中所载便达四十五万,堪称战国之世最大的...
    书千字阅读 7,627评论 3 8