viewpager
ve viewpager
farklı child fragments
içeren Acadmey
kapsayıcı parçam var. View pager'ın çocuk bölümlerinde, verilerin doldurulmasını sağlamak için json isteğini çağırıyorum. İlk defa her şey gayet iyi çalışıyor ama main activity
geri almak ve tekrar görünümü çağrı cihazı için sırtlarını alınca child fragment
tüm içeriği bu nedenle benim viewpagers sayfalar olan ve sadece ilk zamanın onActivityCreated
aramaları sildi olduğunu Açtığım her saniye veya n için boş. Çocuk fragmanının içeriğini yeniden kullanmak için nasıl koruyabilirim ya da viewpager'in her çocuk parçasının yeniden açılmasında her defasında defentaly callbacked
olacaktır.Android - Bir parçanın içindeki Viewpager durumunu kaydetme
Benim Konteyner Parçası: -
public class Academy extends Fragment {
ViewPager viewPager = null;
TabLayout tabLayout;
MyViewPagerAdapter adapter;
private String myString = "hello";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.d("xx", "view started .............. papa");
return inflater.inflate(R.layout.academy, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
tabLayout = (TabLayout) getActivity().findViewById(R.id.tablayoutacademy);
viewPager = (ViewPager) getActivity().findViewById(R.id.academypager);
adapter = new MyViewPagerAdapter(getActivity().getSupportFragmentManager());
adapter.addfragment(new FragmentCourse(), "COURSES");
adapter.addfragment(new FragmentEducator(), "EDUCATORS");
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
}
}
Benim Viewpager Çocuk Fragment (Dersler)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.d("xx", "view course started...........................");
progress=new ProgressDialog(getContext());
progress.setMessage("Nukeing..");
progress.show();
return inflater.inflate(R.layout.fragmentcourse, container, false);
}
@Override
public void onActivityCreated(Bundle jhoola2) {
super.onActivityCreated(jhoola2);
Log.d("xx", "acti cource started");
recyclerView = (RecyclerView) getActivity().findViewById(R.id.rv2);
manager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(manager);
recyclerView.setHasFixedSize(true);
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
MyImageCompress ic=new MyImageCompress();
Bundle bundle=new Bundle();
bundle=msg.getData();
title1 = bundle.getStringArrayList("C_name");
dec1=bundle.getStringArrayList("Discription");
image1=bundle.getStringArrayList("Image");
for (int i = 0; i < image1.size(); i++) {
imageArray1.add(ic.StringToBitMap(image1.get(i)));
Log.d("handleMessage: "," Final parse" +i);
}
Log.d("handleMessage: EDU ", title1.size() + "" + dec1.size() + imageArray1.size());
adapter = new RecyclerAdaptra(title1, dec1, imageArray1);
progress.hide();
recyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
};
GetCources gc= new GetCources(url,handler);
gc.executeRequest();
}
}
* Benim ViewPager Adaptörü *
class MyViewPagerAdapter extends FragmentPagerAdapter {
ArrayList<Fragment> fragments = new ArrayList<Fragment>();
ArrayList<String> tabtitles = new ArrayList<String>();
public void addfragment(Fragment fragments, String titles) {
this.fragments.add(fragments);
this.tabtitles.add(titles);
}
public MyViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
return fragments.get(i);
}
@Override
public int getCount() {
return fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return tabtitles.get(position);
}
}