2015-07-15 2 views
0

Я работаю над viewpager с предыдущей и следующей страницей. Мне нужно увеличить текст текущей страницы после загрузки страницы. Но пока я пытаюсь, текст на следующей странице меняется (я знаю, что следующая и предыдущая загрузка страницы на viewpager). Как я могу сосредоточиться на одной выбранной странице? То, что я сделал это,Редактирование текущей страницы в представлении пейджера

viewPager.setClipChildren(false); 

, к сожалению, она не работает ..

ответ

0

я не очень понимаю, что вам нужно, но я думаю, что вы можете использовать это:

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

     } 

     @Override 
     public void onPageSelected(int position) { 
      //Edit 
      if(position==int requiredPosition) 
      { 
       // resize your text 
      } 
     } 

     @Override 
     public void onPageScrollStateChanged(int state) { 

     } 
    }); 
+0

привет мне нужно изменить размер текста при нажатии на кнопку, после загрузки страницы. проблема в том, что это происходит на следующей странице, в то время как я пытаюсь сделать – DKV

+0

, какой объект обрабатывает ваш viewpager? как фрагменты или что? –

+0

Я использую деятельность. – DKV

0

Я рекомендовал использовать параметр позиции в действии, и вы можете обновлять текст на основе полученной позиции.

Этот пример для фрагментов, хотя

@Override 
    public Fragment getItem(int position) { 
     return PageFragment.newInstance(position); 
    } 

И фрагменту вы получаете эту позицию в качестве аргумента:

public static PageFragment newInstance(int position) { 
    Bundle args = new Bundle(); 
    args.putInt("position", position); 
    PageFragment page = new PageFragment(); 
    page.setArguments(args); 
    return page; 
} 

В onCreateView вы обновляете TextView, основанный на вашей позиции.

Если вы хотите обновить TextView что-то вроде этого:

TextView tv = (TextView) view.findViewById(R.id.yourId); 
int position = getArguments().getInt("position"); 
tv.setText("This is page number: " + position); 
+0

как обновить текст на основе позиции? – DKV

+0

Я обновил свой ответ, надеюсь, что это поможет. Вы также можете делать более сложные обновления, например if (position == 2) // делать что-то другое – slorangex

+0

Я получаю страницу нет. но результат все еще находится на следующей странице. Текущий фокус находится на следующей странице. Я хочу сосредоточиться на текущей странице. что я хочу – DKV

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