Spinner的使用

来源:互联网 发布:cajin夕法淘宝 编辑:程序博客网 时间:2024/06/10 18:03

Spinner 下拉选择框


布局文件:

   <LinearLayout                        android:layout_height="wrap_content"                        android:layout_width="match_parent"                        android:background="@drawable/no_round_corner"                        android:orientation="horizontal">                    <TextView                            android:text="血型"                            android:layout_height="wrap_content"                            android:layout_width="0dp"                            android:gravity="right"                            android:paddingRight="10dp"                            android:textSize="16sp"                            android:paddingTop="10dp"                            android:paddingBottom="10dp"                            android:layout_weight="1"/>                    <View                            android:background="#ffa8abad"                            android:layout_width="1dp"                            android:layout_height="match_parent"/>                    <Spinner                            android:id="@+id/bloodtype"                            android:layout_height="wrap_content"                            android:layout_width="0dp"                            android:layout_weight="2"                            android:background="@null"                            android:gravity="left"/>                </LinearLayout>
java文件中

        //血型下拉框        spinner = (Spinner) findViewById(R.id.bloodtype);        String[] bloodType = {"A", "B", "AB", "O"};        //方式一 布局文件使用系统布局//        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(RegisterDetailActivity.this, android.R.layout.simple_spinner_item, bloodType);//        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//设置Dropdown 布局资源        //方式二 自定义布局文件        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(RegisterDetailActivity.this, R.layout.register_detail_spinner_item, bloodType);        arrayAdapter.setDropDownViewResource(R.layout.register_detail_spinner_dropdown_item);//设置Dropdown 布局资源        //给Spinner设置适配器        spinner.setAdapter(arrayAdapter);        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {            @Override            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {                Spinner spinner1 = (Spinner) adapterView;                String content = (String) spinner1.getItemAtPosition(i);//取得与Spinner关联的列表数据的指定位置的数据                Toast.makeText(RegisterDetailActivity.this, "选择了" + content, Toast.LENGTH_LONG).show();            }            @Override            public void onNothingSelected(AdapterView<?> adapterView) {            }        });        //Spinner 不能使用setOnItemClickListener//        spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {//            @Override//            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {//                Toast.makeText(RegisterDetailActivity.this, "点击了" + i, Toast.LENGTH_LONG).show();//            }//        });

自定义布局资源

register_detail_spinner_dropdown_item.xml

<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android"          android:layout_width="match_parent"          android:layout_height="match_parent"          android:textSize="16sp"          android:paddingTop="10dp"          android:paddingBottom="10dp"          android:gravity="left"          android:paddingLeft="10dp"          android:textColor="#ffa8abad"          android:background="#aafeFF"></TextView>


register_detail_spinner_item.xml

<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android"          android:layout_width="match_parent"          android:layout_height="match_parent"          android:textSize="16sp"          android:paddingTop="10dp"          android:paddingBottom="10dp"          android:gravity="left"          android:paddingLeft="10dp"          android:textColor="#ffa8abad"></TextView>


根据Spinner对象取得当前选择的Item内容

   String selectedContent = (String) spinner.getSelectedItem();   Toast.makeText(RegisterDetailActivity.this, "当前选择了" + selectedContent, Toast.LENGTH_LONG).show();