欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-04 11:28:02
...
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:使用数组资源设置下拉列表框的列表项目