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());
}
}
}
这篇博客总结了在使用Android Spinner时遇到的两个常见问题:1) 如何改变下拉框的默认样式,2) 如何处理点击默认Item不触发响应事件的情况。作者提供了解决这些问题的代码示例和参考资料。
1635

被折叠的 条评论
为什么被折叠?



