如何使OnTouchListener只能使用一次?

时间:2017-02-24 12:38:18

标签: android android-studio ontouchlistener

有一个OnTouchListener,在文本视图上设置,我希望它只在用户按下文本视图时才能工作一次,当他再次按下时不会发生任何事情。

4 个答案:

答案 0 :(得分:1)

在onTouch中完成工作后,请执行以下操作

yourView.setOnTouchListener(null);

您的观点将不再对触控侦听器作出回应。

答案 1 :(得分:0)

创建

Boolean stuff = true;

并在你的onClickListener中检查它

public void onClick(){
   if(stuff){
      stuff = !stuff;
      //do things
   }
}

这只会执行一次在if语句中调用的方法。

答案 2 :(得分:0)

您只需将听众设置为null

即可
   someView.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                someView.setOnTouchListener(null);

                return false;
            }
        });

或:

 someView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onSingleClick(View v) {
                someView.setOnClickListener(null);
            }
        });

答案 3 :(得分:0)

textView.setOnTouchListener(new OnTouchListener {

    int touchedCount = 0

    boolean onTouch (View v, MotionEvent event) {
        if (touchedCount < 1) {
            // do whatever you want to do once here
        }
    }
});