J'ai une application avec curseur vertical pour basculer entre différents smileys (de plus heureux à la plus triste) Mon problème est que je ne sais pas comment je peux obtenir actuellement de mon point de vie (lorsque l'utilisateur est sur un smiley spécifique)
J'ai essayé p> et dans le Autre activité (où je dois stocker le smiley actuel sélectionné): p> Si je suis bon, le TextView de l'autre activité doit afficher un INT entre 1-6. (Positions différentes), et si je ne suis pas bon, il affiche -50. P> Je ne comprends pas ce que je fais mal, comme je définis verticalvp.setcurrentItem (3) le smiley correspondant est affiché ...
Merci d'avance et désolé pour mon mauvais anglais :) p> p>
3 Réponses :
**You can use ViewPager.OnPageChangeListener**
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode
final SharedPreferences.Editor editor = pref.edit();
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
currentPage=position;
Toast.makeText(MainAsyncActivity.this, "position: "+position, Toast.LENGTH_SHORT).show();
editor.putInt("key_name",currentPage); // Storing integer
editor.commit(); // commit changes
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
**get stored value from SharedPreferences**
int currentSmileyInt= pref.getInt("key_name", 0);
Log.d("Keyname: ", String.valueOf(currentSmileyInt));
String currentSmileyString = Integer.toString(currentSmileyInt);
currentSmileyTextView.setText(currentSmileyString);
Cela a presque travaillé, comme mon point de vue est un VerticalViewPager, je n'ai pas accès à .addonpagechangelistener ... J'ai onscrollchangelistener, onattachetachetstatechangelistener, puis-je utiliser l'une de ces? Merci
J'ai SetonpagechanGangelistener!
Pourquoi n'utilisez-vous pas simplement la méthode GetCurrentItem à partir de ViewPager. Comme suit, vous donnera le pagenumber du pager de vue.
// getting current Page int page = mPager.getCurrentItem();
Cette méthode getcurrentiatem code> fonctionnera pour obtenir un position code> de ViewPager code> fragment code> et vous pouvez utiliser comme Ce suivant: Votreactivité code> est l'endroit où vous utilisez exactement le ViewPager code> avec adaptateur et getActivity () code> est le contexte code> comme référence de votre code> fragment code> et n'oubliez pas de faire verticalviewPager code> objet sous Public code> Spécificateur d'accès. p> p>
Stackoverflow.com/questions/8258759 / ...
@ M.garcia, avez-vous un fragment
code> appelé à partir duViewPager code> ???