android - CastException: after Updating Fragment from ViewPager -
i'm updating fragment number 2 using:
@override public int getitemposition(object object) { fragmentpage2 f = (fragmentpage2) object; if (f != null) { f.update(); } return super.getitemposition(object); } now, when add , additional , different fragment in getitem(int position), seems working fine. however, when run mpager.getadapter().notifydatasetchanged(); throws me:
08-07 19:45:50.844: e/androidruntime(17776): java.lang.classcastexception: com.foodbuilder.fragmentpage1 cannot cast com.foodbuilder.fragmentpage2 08-07 19:45:50.844: e/androidruntime(17776): @ com.foodbuilder.mainactivity$myadapter.getitemposition(mainactivity.java:967) 08-07 19:45:50.844: e/androidruntime(17776): @ android.support.v4.view.viewpager.datasetchanged(viewpager.java:851) 08-07 19:45:50.844: e/androidruntime(17776): @ android.support.v4.view.viewpager$pagerobserver.onchanged(viewpager.java:2772) 08-07 19:45:50.844: e/androidruntime(17776): @ android.database.datasetobservable.notifychanged(datasetobservable.java:37) 08-07 19:45:50.844: e/androidruntime(17776): @ android.support.v4.view.pageradapter.notifydatasetchanged(pageradapter.java:276) 08-07 19:45:50.844: e/androidruntime(17776): @ com.foodbuilder.mainactivity.ondialogpositiveclick(mainactivity.java:888) 08-07 19:45:50.844: e/androidruntime(17776): @ com.foodbuilder.tablesdialogfragment$2.onclick(tablesdialogfragment.java:57) 08-07 19:45:50.844: e/androidruntime(17776): @ com.android.internal.app.alertcontroller$buttonhandler.handlemessage(alertcontroller.java:166) ` what happening? thank much.
@override public int getitemposition(object object) { if(object != null && object instanceof fragmentpage2){ fragmentpage2 f = (fragmentpage2) object; f.update(); } return super.getitemposition(object); } similarly can object class , check if assignable fragmentpage2.class:
if(object.getclass().isassignalbefrom(fragmentpage2.class))
this happens because have different classes inherit fragment , getitemposition() not care type of object, casting care type of object.
hope helps.
Comments
Post a Comment