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();