如何用支架替换onclicklistener?

时间:2017-05-29 00:16:19

标签: android onclicklistener

我正在做一个机器人,我找到了一个可以帮助我的代码,但它有答题器,我想要持有人,你能帮我替换它们吗?

我的意思是,它是一款机器人汽车,在我的应用程序中我只能做短按,但我想要长时间点击。

请帮帮我!

这是其中一个的代码:

btnUp = (Button) findViewById(R.id.button2);
btnUp.setOnClickListener(new View.OnClickListener()
  {
    @Override
    public void onClick(View v) {
      up();
    }
  });

private void up() {
  if (btSocket != null) {
    try {

      btSocket.getOutputStream().write("d".toString().getBytes());
    } catch (IOException e) {
      msg("Error");
    }
  }
}

[dgfhg[1]

2 个答案:

答案 0 :(得分:0)

您可以在onTouchListener的帮助下执行此操作,并检测用户何时将手指放在按钮上并开始按下按钮并将手指抬离按钮并停止按住该按钮。

btnUp.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                switch(motionEvent.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        //start pressing
                        //user start putting down button
                        //start doing what you want
                        break;
                    case MotionEvent.ACTION_UP:
                        //end pressing
                        //user stop pressing the button and lift his finger
                        //stop doing what you were
                        break;
                }
                return false;
            }
        });

答案 1 :(得分:0)

要进行长按(长按),您必须按住按钮很长时间,并且应该使用setOnLongCLickListener而不是setOnClickListener。希望这会有所帮助。

 btnUp.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View view) {

            up();
            return false;
        }
    });