在我的活動中,我使用viewpager。我創建了兩個片段,並附加到視圖尋呼機,並在我的活動中隨時調用這些片段中的某些方法。之後應用程序在低內存中死亡,重新創建的片段在那裏,但沒有與viewpager somehome連接..我可以不叫MyFragment.mymethod()..它說MyFragment爲空Viewpager在低內存殺死的情況下鬆散的碎片連接
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
if(position==0){
if(homeFragment==null){
homeFragment=new HomeFragment();
}
return homeFragment;
}else{
if(mapFragment==null){
mapFragment=new Map();
}
return mapFragment;
}
}
。 。 。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if(id==R.id.action_search){
return true;
}else if(id==R.id.action_feedback){
}else if(id==R.id.action_rate_me){
}else if(id==R.id.action_show_favorites){
if(mViewPager.getCurrentItem()!=0){
mViewPager.setCurrentItem(0);
}
homeFragment.populateListWithFavorites();
return true;
}else if(id==R.id.action_history){
if(mViewPager.getCurrentItem()!=0){
mViewPager.setCurrentItem(0);
}
homeFragment.populateListWithHistory();
return true;
}
return super.onOptionsItemSelected(item);
}
嘗試只是爲了確保我的理解 - 當你說的應用程序被殺害,然後重新創建,你的意思是,應用程序完全結束,然後在應用程序的一個新的開始,沒有連接ViewPager和碎片之間? – ucsunil
不,我的意思是當你打開應用程序,然後返回到主屏幕,並做其他的東西,如使用其他應用程序等等,這些應用程序在Android的低內存死亡,並比你打開任務列表在Android上,再次點擊應用程序。它用碎片再次創建活動......但是重新創建的碎片與活動的視圖編輯器 – laymelek
沒有任何關係。現在,當您通過按下後退按鈕殺死應用程序的主要活動並稍後重新啓動時會發生什麼情況? – ucsunil