1.使用Spinner时候,弹出下拉框样式不是默认样式,解决代码:
Spinner spinner_name_qs_type = (GeenkSpinner) findViewById(R.id.spinner_name_qs_type);
ArrayAdapter qsTypeAdapter = new ArrayAdapter<String>(ScanNewQSActivity.this,
android.R.layout.simple_spinner_item, signType);
//设置样式为默认样式
qsTypeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_name_qs_type.setAdapter(qsTypeAdapter);
2.使用Spinner时候,在弹出框中点击默认Item无法触发响应事件
使用自定义Spinner解决,代码摘自:http://blog.youkuaiyun.com/z358247505/article/details/39080665
import android.content.Context;
import android.util.AttributeSet;
import android.widget.Spinner;
public class MySpinner extends Spinner {
public MySpinner(Context context) {
super(context);
}
public MySpinner(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MySpinner(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void setSelection(int position, boolean animate) {
boolean sameSelected = position == getSelectedItemPosition();
super.setSelection(position, animate);
if (sameSelected) {
getOnItemSelectedListener().onItemSelected(this, getSelectedView(),
position, getSelectedItemId());
}
}
@Override
public void setSelection(int position) {
boolean sameSelected = position == getSelectedItemPosition();
super.setSelection(position);
if (sameSelected) {
getOnItemSelectedListener().onItemSelected(this, getSelectedView(),
position, getSelectedItemId());
}
}
}