Intereting Posts
Воспроизведение анимированного файла изображения GIF в представлении изображения Android SDK Manager – загрузить SDK 3.0 до 3.2 Андроид без учета регистра курсора с оператором LIKE (работает для всех локалей) Преобразование String в JsonArray Html5 видео на Android 4: играть в полноэкранном режиме, а затем перенаправлять на другую веб-страницу – не работает Местоположение SDK не найдено. Определите местоположение с помощью sdk.dir в файле local.properties или с переменной окружения ANDROID_HOME Проверьте, если MenuItem находится в переполнении ActionBar Как изменить размер текста подсказки без изменения размера текста в EditText Установите плагин ADT в Eclipse PopupWindow в андроиде Тихая установка apk программно с помощью системного приложения (без root) Позиция ListView onStart Вертикальный просмотр анимации пейджера в android Разработка Android-смартфона – на каких устройствах вы бы предложили проверить приложение? Можно ли использовать Firebase Messaging с Google Analytics в Android?

Как я могу вызвать функцию повтора, когда пользователь нажимает кнопку, пока пользователь не отпустит эту кнопку

В андроиде,

Как я могу повторить вызовы функции от пользователя времени, нажав кнопку, пока он / она не отпустит эту кнопку?

У меня есть проверка clickListener и longclicklistener, но похоже, что они делают то, что я хочу.

Спасибо.

Вы можете использовать OnTouchListener :

 public class MainActivity extends Activity implements OnTouchListener { private Button button; // ... @Override public void onCreate(Bundle savedInstanceState) { // ... button = (Button) findViewById(R.id.button_id); button.setOnTouchListener(this); // ... } // ... @Override public boolean onTouch(View v, MotionEvent event) { /* get a reference to the button that is being touched */ Button b = (Button) v; /* get the action of the touch event */ int action = event.getAction(); if(action == MotionEvent.ACTION_DOWN) { /* A pressed gesture has started, the motion contains the initial starting location. */ } else if(action == MotionEvent.ACTION_UP) { /* A pressed gesture has finished, the motion contains the final release location as well as any intermediate points since the last down or move event. */ } else if(action == MotionEvent.ACTION_MOVE) { /* A change has happened during a press gesture (between ACTION_DOWN and ACTION_UP). The motion contains the most recent point, as well as any intermediate points since the last down or move event. */ } else if(action == MotionEvent.ACTION_CANCEL) { /* The current gesture has been aborted. You will not receive any more points in it. You should treat this as an up event, but not perform any action that you normally would. */ } } } 

Если я прав: нажмите: Пользователь нажал и отпустил палец. Нажмите: Палец пользователя все еще находится на устройстве.

Может быть, вы должны попробовать с onTouchListener? Я никогда не использовал его …

Используйте OnTouchListener для вызова функции до тех пор, пока кнопка не будет освобождена пользователем как:

 private OnTouchListener otl_conn = (OnTouchListener) new TouchListenerConn(); private Button bv = null; bv = (Button) findViewById(R.id.xxxxbutton); bv.setOnTouchListener(otl_conn); class TouchListenerConn implements OnTouchListener { public boolean onTouch(View v, MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_DOWN: //call function here break; case MotionEvent.ACTION_UP: //DO SOMETHING xxxx....; break; } return true; } }