如何为微调器捕获Android中的onClick事件
作者:互联网
我想在用户选择微调器值时捕获onClick事件.
我尝试实现OnClickListener并使用以下代码:
@Override
public void onClick(final View view) {
if (view == countrySpinner) {
Toast.makeText(this, "Override OK!", 3);
}
}
并绑定:
countrySpinner.setOnClickListener(this);
可以编译,但是我收到RuntimeException的建议我使用OnItemClickListener而不是OnClickListener来获取AdapterView.
如何捕获该onClick事件?
解决方法:
尝试设置OnTouchListener和OnKeyListener,而不是设置微调器的OnClickListener.
spinner.setOnTouchListener(spinnerOnTouch);
spinner.setOnKeyListener(spinnerOnKey);
和听众:
private View.OnTouchListener spinnerOnTouch = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
//Your code
}
return false;
}
};
private static View.OnKeyListener spinnerOnKey = new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
//your code
return true;
} else {
return false;
}
}
};
标签:android,android-spinner,android-widget 来源: https://codeday.me/bug/20191010/1887624.html