0

У меня есть ViewPager, который прокручивает сообщения по электронной почте, он запрашивает электронное письмо, когда пользователь перестает прокручивать на короткое время с помощью планировщика.Отключить просто нажатие на ViewPager

Во время этой паузы я не хочу, чтобы какие-либо кнопки-заполнители, которые находятся на загружаемой странице, были нажаты. Во время этого события подкачки, поэтому я хотел бы разрешить прокрутку, так как пользователь может продолжать прокручивать другой адрес электронной почты, но отключить нажатие на отправителя/получателя или интерактивные элементы в электронном письме, которые по-прежнему являются заполнительными данными и не будут нигде.

Я пытался сделать что-то вроде этого до сих пор на вид пейджера:

// Set a simple gesture to handle our click request, allowing everything else 
final GestureDetector.SimpleOnGestureListener dsl_simpleDetector = new GestureDetector.SimpleOnGestureListener() { 
    public boolean onSingleTapUp (MotionEvent motionEvent) { 
     // Don't want to do anything with this if timer is running 
     final ExchangeEmailActivity ds_act = (ExchangeEmailActivity) getActivity(); 
     if (ds_act.dsc_timer != null) { // We're waiting for the page to load still 
      return false; // Handle it by doing nothing 
     } else { 
      return true; // Let it be handled as necessary 
     } 
    } 
}; 

// The listener will call the simple gesture above to handle it 
vp_pager.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View view, MotionEvent motionEvent) { 
     return (dsl_simpleDetector.onSingleTapUp(motionEvent)); 
    } 
}); 

ответ

0

, если вы не хотите, чтобы пользователи нажать на кнопку ->отключить кнопку. Плохой дизайн, чтобы «взломать» сенсорный прослушиватель, чтобы просто не нажимать на кнопки.

+0

Невозможно взаимодействовать с самими кнопками, они являются частью более широкой системы, взломать их будет намного хуже. ViewPager - это самая мелкая система из всех, и функциональность должна относиться только к определенному ViewPager, никому другому. – Ben

+0

Это может быть то, что ViewPager является самой мелкой системой. НО вы должны видеть это из пользовательского вида. Если в вашем приложении есть активированные кнопки (которые вы предотвращаете нажатием), пользователь попытается щелкнуть их рано или поздно, и ничего не произойдет. И этого никогда не должно было случиться. – IIIIIIIIIIIIIIIIIIIIII

+0

В этом случае представляется приемлемым сделать это, так как эта функция отключения должна длиться всего около 200 миллисекунд, при перехвате этой функции, когда ViewPager информирует пользователя о завершении загрузки, может быть предоставлено сообщение тоста. – Ben

 Смежные вопросы

  • Нет связанных вопросов^_^