Intereting Posts
Java.lang.IllegalStateException: ожидается BEGIN_OBJECT, но был STRING в строке 1 столбца 62 Какую технику хранения данных Android использовать? Динамические изменения макетов, чем статические макеты Разбор меню Android-ресурса XML в список объектов Какова цель методов getItem и getItemId в базовом адаптере Android? Phonegap – локальное хранилище не работает – Android Переместите мою панель прогресса с помощью андроида Снимок экрана показывает черный Android: исключение из-за исключения из памяти. Как проверить объекты? Android Studio: не удалось выполнить выполнение градиента. Причина пуста Ошибка экспорта ADT с помощью Gradle SQLite-запрос SQLiteLog (1) нет такой колонки: Android BackupAgent не поддерживает резервное копирование / восстановление sharedpreferences TabWidget onClick после onSaveInstanceState (java.lang.IllegalStateException: не удается выполнить это действие после onSaveInstanceState) Оптимизация приложений Android до выпуска

Android – обнаружение конца длинного нажатия

Я работаю над приложением, в котором пользователю нужно нажать и удерживать кнопку в течение длительного времени.

Как я могу определить момент, когда пользователь: завершает печать или перемещает свое положение касания?

благодаря

Solutions Collecting From Web of "Android – обнаружение конца длинного нажатия"

Я считаю, что лучше всего использовать комбинацию onLongClickListener () и onTouchListener () для этой кнопки. Вам нужно поймать определенные события на сенсорном прослушивателе, так как это вызовет каждое событие касания.

Попробуйте следующее:

class Blah extends Activity { private Button mSpeak; private boolean isSpeakButtonLongPressed = false; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.blahlayout); Button mSpeak = (Button)findViewById(R.id.speakbutton); mSpeak.setOnLongClickListener(speakHoldListener); mSpeak.setOnTouchListener(speakTouchListener); } private View.OnLongClickListener speakHoldListener = new View.OnLongClickListener() { @Override public boolean onLongClick(View pView) { // Do something when your hold starts here. isSpeakButtonLongPressed = true; return true; } } private View.OnTouchListener speakTouchListener = new View.OnTouchListener() { @Override public boolean onTouch(View pView, MotionEvent pEvent) { pView.onTouchEvent(pEvent); // We're only interested in when the button is released. if (pEvent.getAction() == MotionEvent.ACTION_UP) { // We're only interested in anything if our speak button is currently pressed. if (isSpeakButtonLongPressed) { // Do something when the button is released. isSpeakButtonLongPressed = false; } } return false; } } } 

Я думаю, вы можете использовать OnTouchListener для этого.

Я думаю, что для этого можно использовать onFocusChanged -Listener.