3 回答
TA贡献1875条经验 获得超3个赞
**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);
TA贡献1835条经验 获得超7个赞
此方法getCurrentItem
将适用于您获得一个position
,ViewPager
fragment
您可以像下面这样使用:
((YourActivity)getActivity()).verticalViewPager.getCurrentItem());
YourActivity
是您确切使用ViewPager
with 适配器的地方,并且getActivity()
是Context
您的参考,fragment
并且不要忘记将verticalViewPager
object 作为public
访问说明符。
TA贡献1856条经验 获得超17个赞
为什么不直接使用 viewpager 中的 getcurrentItem 方法。如下所示,将为您提供视图寻呼机的 pageNumber。
// getting current Page int page = mPager.getCurrentItem();
添加回答
举报