Android 出现下拉列表上的微调器事件
我想对Android 出现下拉列表上的微调器事件,android,spinner,Android,Spinner,我想对下拉列表的外观执行一些操作 我找不到任何方法来获取“onShowListener” 有这样一个侦听器吗?setOnItemSelectedListener可用,它将为您提供所选项目 spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<
下拉列表的外观执行一些操作
我找不到任何方法来获取“onShowListener”
有这样一个侦听器吗?setOnItemSelectedListener可用,它将为您提供所选项目
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0,
View arg1, int arg2, long arg3) {
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinner.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView arg0,
视图arg1、整数arg2、长arg3){
}
@凌驾
未选择公共无效(AdapterView arg0){
}
});
您可以通过使用自己的SpinnerAdapter来实现这一点
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
// Hide the keyboard here
}
此方法仅在微调器出现时调用
您可以找到一个自定义SPinnerAdapter的示例,最简单的解决方案是使用。但它可能会给你带来一些不必要的副作用,因为当你点击一个列表项时,它也会被调用
顺便说一句,您不能设置OnClickListener,因为它会出现以下异常:
“java.lang.RuntimeException:不要为AdapterView调用setOnClickListener。您可能需要setOnItemClickListener代替”
您是否尝试添加setOnClickListener,然后检查微调器是否显示我不在乎选择了哪个项目,我想在为屏幕上的每个可见项目调用微调器AppearGetDropDownView时隐藏键盘。我不想让我的show方法称为gazilion times;)
spinner.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Hide your Keyboard
return false;
}
});