У меня есть 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));
}
});
Невозможно взаимодействовать с самими кнопками, они являются частью более широкой системы, взломать их будет намного хуже. ViewPager - это самая мелкая система из всех, и функциональность должна относиться только к определенному ViewPager, никому другому. – Ben
Это может быть то, что ViewPager является самой мелкой системой. НО вы должны видеть это из пользовательского вида. Если в вашем приложении есть активированные кнопки (которые вы предотвращаете нажатием), пользователь попытается щелкнуть их рано или поздно, и ничего не произойдет. И этого никогда не должно было случиться. – IIIIIIIIIIIIIIIIIIIIII
В этом случае представляется приемлемым сделать это, так как эта функция отключения должна длиться всего около 200 миллисекунд, при перехвате этой функции, когда ViewPager информирует пользователя о завершении загрузки, может быть предоставлено сообщение тоста. – Ben