J'ai une ScrollView et contiennent un ViewPager et un RecyclerView et je l'ai appliqué minuterie pour le défilement automatique du contenu de viewpager et je veux est quand je clique sur téléavertisseur vue qu'il détient vers le bas, il ne veut pas effectuer de tâche de défilement automatique et pour cela j'ai utilisé le code ci-dessous.Je ViewPager problème lié dans Android
viewPager.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
canScroll = false;
Log.e("canScroll", "ACTION_DOWN = " + canScroll);
}
if (event.getAction() == MotionEvent.ACTION_UP) {
canScroll = true;
Log.e("canScroll", "ACTION_UP = " + canScroll);
}
return true;
}
});
public void pageSwitcher(int seconds) {
timer = new Timer(); // At this line a new Thread will be created
timer.scheduleAtFixedRate(new RemindTask(), 0, seconds * 1000); // delay
}
// this is an inner class...
class RemindTask extends TimerTask {
@Override
public void run() {
try {
getActivity().runOnUiThread(new Runnable() {
public void run() {
Log.e("canScroll", "RemindTask = " + canScroll);
if (canScroll) {
if (currentPage < maxPage) {
viewPager.setCurrentItem(currentPage);
currentPage = currentPage + 1;
} else {
viewPager.setCurrentItem(currentPage);
currentPage = 0;
}
}
}
});
} catch (Exception e) {
Log.e("Unwanted", "RemindTask- NullPointerException");
}
}
}
Et je veux est quand je défiler viewpager horizontalement, il veut faire défiler mais il ne fonctionne pas et aussi lorsque je clique sur viewpager et puis faites défiler verticalement le ScrollView défile verticalement mais je ne peux pas en mesure pour détecter MotionEvent.ACTION_UP et en raison de ce que je ne peux pas en mesure de mettre canScroll = true pour effectuer autoscroll contenu viewpager et cette mise en page est en Fragment.
Alors s'il vous plaît quelqu'un m'aider.
essayez imbriqué ScrollView –
Mon réel problème wi Voir le téléavertisseur. –