Ссылаясь на следующий ответ, я попытался не реализовывать то, что я делал сейчас в проекте, то есть используя следующий код:
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
Потому что из-за текущей реализации все страницы в моем ViewPager
были перезагружены снова. Причина в том, почему я реализовал это в 1-м месте, это перезагрузить фрагмент (который был динамическим в соответствии с пользовательским вводом).
Прочитав ссылку, я получил неопределенное представление о том, что я должен был делать, я перепробовал метод instantiateItem()
, но в своей попытке setTag()
я смутился относительно того, как я должен был это реализовать. Я попробовал следующее:
@Override
public Object instantiateItem(ViewGroup viewgroup, int position) {
// TODO Auto-generated method stub
View viewA = viewgroup.getChildAt(0);
viewA.setTag("FragmentA");
View viewB = viewgroup.getChildAt(1);
viewB.setTag("FragmentB");
View viewC = viewgroup.getChildAt(2);
viewC.setTag("FragmentC");
return super.instantiateItem(viewgroup, position);
}
И в моей реализации интерфейса я назвал следующее:
PlayingFragment fragment = new PlayingFragment();
fragment.setArguments(element);
getSupportFragmentManager().beginTransaction().add(fragment,"NowPlaying").commit();
adapter.notifyDataSetChanged();
pager.findViewWithTag("FragmentC");
Текущая реализация дает мне NullPointerException
at: viewA.setTag("FragmentA");
Может ли кто-нибудь помочь мне реализовать эту реализацию setTag()
и findViewWithTag()
?