का उपयोग करते समय एंड्रॉइड ऐप क्रैश हो रहा है, मुझे अपने टुकड़ों को पुनर्स्थापित करने का प्रयास करते समय मेरे एंड्रॉइड ऐप क्रैशिंग में समस्या आई है। मैंने उस बंडल में कोई कस्टम वैरिएबल नहीं जोड़ा है जिसे मैं पुनर्स्थापित करने का प्रयास कर रहा हूं, यह सब डिफ़ॉल्ट है। मैं टुकड़े और ViewPager का उपयोग कर रहा हूँ। नीचे मेरी कोड के टुकड़े देखें:फ्रैगमेंट्स और व्यूपेजर
public static class MyAdapter extends FragmentStatePagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return NUM_ITEMS;
}
public int getCurrentItemPosition(Fragment fragment){
return getItemPosition(fragment);
}
@Override
public Fragment getItem(int position) {
return ContentFragment.newInstance(position);
}
}
public class MyActivity extends FragmentActivity {
static final int NUM_ITEMS = 100000;
public int currentSelectedPage;
private int changeToFragmentIndex;
public DateTime midDate;
MyAdapter mAdapter;
ViewPager mPager;
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.diary);
MyApplication application = (MyApplication)getApplication();
application.dataController.myActivity = this;
mAdapter = new MyAdapter(getSupportFragmentManager());
mPager = (ViewPager)findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
int newDay = application.daysBetween(DateTime.now(), DateTime.parse(application.day.dateToShortString()));
this.currentSelectedPage = NUM_ITEMS/2+newDay;
mPager.setCurrentItem(NUM_ITEMS/2+newDay);
mPager.setOnPageChangeListener(new SimpleOnPageChangeListener(){
public void onPageSelected(int position){
currentSelectedPage = position;
ContentFragment fragment = (ContentFragment) mAdapter.instantiateItem(mPager, currentSelectedPage);
fragment.loadData();
}
});
}
}
public class ContentFragment extends Fragment {
private View v;
static final int NUM_ITEMS = 100000;
static ContentFragment newInstance(int num) {
ContentFragment f = new ContentFragment();
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (container == null)
return null;
v = inflater.inflate(R.layout.diarycontent, container, false);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState){
super.onSaveInstanceState(savedInstanceState);
setUserVisibleHint(true);
}
}
मैं इस stackstrace प्राप्त करते हैं:
Caused by: java.lang.NullPointerException
at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:519)
at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:1 55)
at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:522)
जैसा कि मैंने समझ लिया है इस सहायता पैकेज और कहा कि एक संभव समाधान के साथ एक ज्ञात समस्या हो सकती है setUserVisibleHint उपयोग करने के लिए होगा (सच) onSaveInstanceState में। लेकिन इससे मदद नहीं मिली।
क्या किसी को समस्या का एक और समाधान पता है या मैंने क्या गलत किया है?
हाय @xteci आप इस मुद्दे को हल है? मुझे इस तरह की त्रुटि भी मिलती है, और अभी भी समाधान – hakim
मुझे भी नहीं मिला है, क्या आपको कुछ भी मिला है? @hakim – henrikpersson
आप इस उत्तर का उपयोग कर सकते हैं यह मेरे लिए काम करता है http://stackoverflow.com/questions/18642890/fragmentstatepageradapter-with-childfragmentmanager-fragmentmanagerimpl-getfra –