ViewPager работает не корректно.
#39498309
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
|
|
|
Ситуация такая - есть фрагмент fragmentBoss, в нем ViewPager с 3 страницами(фрагментами). захожу в фрагмент fragmentBoss - и ViewPager отображает фрагменты как надо, затем выхожу и захожу на другой фрагмент (Settings), и захожу опять в фрагмент fragmentBoss с ViewPager и страницы пустые, обновляются только после перелистывания.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
private FragmentManager fragmentManager;
private android.support.v4.app.FragmentTransaction transaction1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
fragmentManager=getSupportFragmentManager();
fragmentBoss= new FragmentBoss();
fragmentPoiskaIStarta = new FragmentPoiskaIStarta();
fragmentSettings = new FragmentSettings();
}
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
Тут метод, посредством которого переходим по фрагментам:
(fragmentBoss,Settings)
transaction1 = fragmentManager.beginTransaction();
switch (TipAnimacii) {
case 1: {
transaction1.replace(R.id.BigFragment, fragmentPoiskaIStarta);
transaction1.commit();
mTextMessage.setText(R.string.title_home);
anim = AnimationUtils.loadAnimation(getApplication(), R.anim.prozrahnost);
mTextMessage.startAnimation(anim);
break;
}
case 2: {
transaction1.replace(R.id.BigFragment, fragmentBoss);
transaction1.commit();
mTextMessage.setText(R.string.title_dashboard);
anim = AnimationUtils.loadAnimation(getApplication(), R.anim.prozrahnost);
mTextMessage.startAnimation(anim);
break;
}
case 3: {
transaction1.replace(R.id.BigFragment, fragmentSettings);
transaction1.commit();
mTextMessage.setText(R.string.title_notifications);
anim = AnimationUtils.loadAnimation(getApplication(), R.anim.prozrahnost);
mTextMessage.startAnimation(anim);
break;
}
}
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
Класс FragmentBoss:
public class FragmentBoss extends Fragment {
public static FragmentBoss newInstance() {
FragmentBoss fragment = new FragmentBoss();
Bundle args = new Bundle();
fragment.setArguments(args);
return fragment;
}
private TabLayout tabLayout;
private ViewPager viewPager;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_fragment_boss, container, false);
viewPager =(ViewPager)v.findViewById(R.id.ViewPager);
TablayautAdapter tablayautAdapterv=new TablayautAdapter(getActivity().getSupportFragmentManager());
viewPager.setAdapter(tablayautAdapterv);
tabLayout=(TabLayout)v.findViewById(R.id.tablayout);
tabLayout.setupWithViewPager(viewPager);
return v;
}
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55.
Клфсс TablayautAdapter:
package com.example.kaz.io.Adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.util.Log;
import com.example.kaz.io.Fragment.FragmentControl;
import com.example.kaz.io.Fragment.FragmentControlCsene;
public class TablayautAdapter extends FragmentStatePagerAdapter {
private String[] tabs;
public TablayautAdapter(FragmentManager fm) {
super(fm);
tabs=new String[]{
"TAB1",
"TAB2",
"TAB3",
"TAB4" };
}
@Override
public CharSequence getPageTitle(int position) {
return tabs[position];
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return FragmentControl.newInstance();
case 1:
return FragmentControlCsene.newInstance();
case 2:
return FragmentControlCsene.newInstance();
case 3:
return FragmentControl.newInstance(); }
return null;
}
@Override
public int getCount() {
return tabs.length;
}
}
|
|