Android Studio下拉框绑定数据以及自定义样式

1、自定义样式
// 建立Adapter并且绑定数据源
ArrayAdapter<String> Adapter=new ArrayAdapter<String>(this,R.layout.main_liushuihao_stylespinner, mItems);
其中R.layout.main_liushuihao_stylespinner 为自己写的xml,mItems是数据。

private String[]  listall={"test1","test2","test3","test4","test5"};
 
 //点击用户名查出下拉框内容
        final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.spinner_item ,listall);//创建Arrayadapter适配器
        username.setOnTouchListener(new View.OnTouchListener() {
            //按住和松开的标识
            int touch_flag=0;
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                touch_flag++;
                if(touch_flag==2){
                    touch_flag=0;
                 String[] city=res.getStringArray(R.array.province1);//将province中内容添加到数组city中
                    final Spinner spinner = (Spinner) findViewById(R.id.spinner1);//获取到spacer1
                    spinner.setAdapter(adapter);
                    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {//通过此方法为下拉列表设置点击事件
                        @Override
                        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                            text[0] = spinner.getItemAtPosition(i).toString();          
                           // Toast.makeText(Login.this, text[0], Toast.LENGTH_SHORT).show();
                        }
                        @Override
                        public void onNothingSelected(AdapterView<?> adapterView) {
                        }
                    });

                } return false;
            }
        }
      
 

 
下拉框二:
        Resources res =getResources();
        List<String> city = new ArrayList<String>();
        city.add("苹果");
        city.add("香蕉");
        city.add("橘子");
        city.add("香蕉");
        //String[] city=res.getStringArray(R.array.province1);//将province中内容添加到数组city中
        final Spinner spinner = (Spinner) findViewById(R.id.spacer1);//获取到spacer1
        final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,city);//创建Arrayadapter适配器
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {//通过此方法为下拉列表设置点击事件
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                String text = spinner.getItemAtPosition(i).toString();
                Toast.makeText(Login.this, text, Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onNothingSelected(AdapterView<?> adapterView) {
             }

        });

下拉菜单Spinner:
android:dropDownHorizontalOffset:设置列表框的水平偏移距离
android:dropDownVerticalOffset:设置列表框的水平竖直距离
android:dropDownSelector:列表框被选中时的背景
android:dropDownWidth:设置下拉列表框的宽度
android:gravity:设置里面组件的对其方式
android:popupBackground:设置列表框的背景
android:prompt:设置对话框模式的列表框的提示信息(标题),只能够引用string.xml 中的资源id,而不能直接写字符串
android:spinnerMode:列表框的模式,有两个可选值: dialog:对话框风格的窗口 dropdown:下拉菜单风格的窗口(默认)
可选属性:android:entries:使用数组资源设置下拉列表框的列表项目

发布了12 篇原创文章 · 获赞 13 · 访问量 45

猜你喜欢

转载自blog.csdn.net/xiaohelan/article/details/105512109