其他分享
首页 > 其他分享> > 如何为微调器捕获Android中的onClick事件

如何为微调器捕获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