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 du
ViewPager code> ???