2016-02-05 3 views
1

Привет, я использую ViewPager для автоматического считывания 10 текстовых комментариев. Когда я открываю приложение, он начинается с IMAGE1.Тогда он продолжает прокручивать до 10-й цитаты. Давайте рассмотрим, viewpager показывает 5-ю цитату. Теперь я закрываю его. Когда я снова открываю приложение, он начинается с первой цитаты. Но мне нужно показать 6-ю цитату.Возобновление автоматического перемещения ViewPager при открытии приложения

Как возобновить цитату из того места, где я раньше.

Сообщений 1:

Quote1

Цитата 5:

enter image description here

Сообщений 6:

enter image description here

UPDATE

int count=0; 
int pager_position; 
    private void setTime_ToSlide() { 
     TextSlideShowAdapter adapter = new TextSlideShowAdapter(MainActivity.this, title1, title2); 
     myPager = (ViewPager) findViewById(R.id.reviewpager); 
     myPager.setAdapter(adapter); 
     myPager.setCurrentItem(0); 


     Log.e("TEST", "Title Value Main " + title1 + " Title 2" + title2); 
     timer = new Timer(); 
     timer.schedule(new TimerTask() { 
      @Override 
      public void run() { 
       runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         if (count1 <= 56) { 
          myPager.setCurrentItem(count1); 
          pager_position = myPager.getCurrentItem(); 
          Log.e("Get current item", String.valueOf(myPager.getCurrentItem())); 
          count1++; 
         } else { 
          count1 = 0; 
          myPager.setCurrentItem(count1); 
         } 
        } 
       }); 
      } 
     }, 500, 3000); 
    } 


    @Override 
    protected void onPause() { 
     super.onPause(); 
     saveCurrentPagePosition(); 
     Log.e("Get SharedPreference ", String.valueOf(pager_position)); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     //... 
     setCurrentPagePosition(); 
    } 

    private void setCurrentPagePosition() { 
     myPager.setCurrentItem(pager_position); 
    } 

    private void saveCurrentPagePosition() { 
     // store current page position in shared preference 
     SharedPreferences.Editor editor = pref.edit(); 
     editor.putInt("PagerPosition", pager_position); 
     editor.commit(); 
    } 

ответ

2

магазин вашей позиции страницы в sharedpreferences в методе OnPause и когда вы вернетесь в приложение получить значение страницы от предпочтений и использовать это значение для установки текущего элемента

viewPager.setCurrentItem(postion from preferences); 
+0

в вашем методе setcurrentPagePosition заменить pager_position на значение, которое вы получаете из общих настроек, означает myPager.setCurrentItem (preferences.getInt («PagerPosition», 0)); @ ParamaSudha – Ajinkya

+0

@ParamaSudha также при использовании s hared предпочтение i.e в методе saveCurrentPagePosition использовать этот код editor.putInt («PagerPosition», myPager.getCurrentItem()); – Ajinkya

-1

Не могу прокомментировать ваш вопрос, так что положите его сюда. Вы пробовали позвонить в службу?

+0

Рассмотрите это как добавление комментариев. – Harry

+0

Как я уже сказал, я не мог добавить его к комментариям по его вопросу, недостаточно репутации. – IDontEvenKnow

1

Поскольку Ajinkya сказал сохранить текущую позицию вашего пейджера в общем предпочтении в onPause() вашей деятельности/фрагмента.

@Override 
public void onPause() { 
    super.onPause(); 
    saveCurrentPagePosition(); 
} 

Fetch сохраненную позицию в вашей деятельности/Фрагмент onResume() и установить текущее положение для ViewPager как

@Override 
protected void onResume() { 
    super.onResume(); 
    //... 
    setCurrentPagePosition(); 
} 

методов Helper -

private void setCurrentPagePosition() { 
    // fetch from shared prefs or set default as 0 
    viewPager.setCurrentItem(postion_from_preferences); 
} 

private void saveCurrentPagePosition() { 
    // store current page position in shared preference 
} 
+0

Спасибо @vijay_t. Я последовал за ур. Но не понял. Я обновил свой код. Пожалуйста, проверьте его. –

Смежные вопросы