1、设置Spinner的布局
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/sp"
android:layout_alignTop="@+id/tv_sys_code"
android:layout_toEndOf="@+id/tv_sys_code"
android:spinnerMode="dropdown"
android:prompt="@string/spinner_list_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
注意设置android:spinnerMode的模式
2、Spinner在代码中的使用
/**
* 初始化Spinner
* @param codeNames
*/
private void initSpinner(final List<String> codeNames) {
//使用android提供的Item布局
// final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, codeNames);
// //这里设置的是Spinner的样式
// adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.layout_spinner_item_select, codeNames);
//传入的参数分别为 Context , 未选中项的textview , 数据源List
//单独设置下拉的textview
adapter.setDropDownViewResource(R.layout.layout_spinner_item_drop);
//设置Adapter
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//选择列表项的操作
sysCode = codeNames.get(position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
//未选中时候的操作
}
});
}
3、获取当前值的方法
spinner.getSelectedItem().toString();
网友评论