Android DialogFragment BadParcelableException
我试着写一个小例子来重现我的问题:Android DialogFragment BadParcelableException,android,android-dialogfragment,Android,Android Dialogfragment,我试着写一个小例子来重现我的问题: public class ActivityA extends FragmentActivity{ private void showMyDialog(){ SelectionDialog dialog = SelectionDialog.newInstance("title", new SelectionDialog.UploadFolderSelectionDialogListener() { @Overrid
public class ActivityA extends FragmentActivity{
private void showMyDialog(){
SelectionDialog dialog = SelectionDialog.newInstance("title", new SelectionDialog.UploadFolderSelectionDialogListener() {
@Override
public void writeToParcel(Parcel arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void folderSelected() {
// TODO Auto-generated method stub
}
});
dialog.show(getSupportFragmentManager());
}
}
public class SelectionDialog extends DialogFragment {
public static SelectionDialog newInstance(final String title, UploadFolderSelectionDialogListener listener) {
SelectionDialog dialog = new SelectionDialog ();
Bundle args = new Bundle();
args.putString("title", title);
args.putParcelable("listener", listener);
dialog.setArguments(args);
return dialog;
}
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(getActivity());
if (getArguments().containsKey("title")) {
alertBuilder.setTitle(getArguments().getInt("title"));
}
return alertBuilder.create();
}
public interface UploadFolderSelectionDialogListener extends Parcelable {
void folderSelected();
}
}
问题是:
删除
args.putParcelable(“侦听器”,侦听器)代码中的code>避免了崩溃。您能否发布com.sophos.smenc.LocalStorageProvider
类及其内部类问题在于LocalStorageProvider
未正确遵循可打包协议。您的简短示例不存在使用<代码> LoalSturgProvices < /COD>,因此不适合重现您的问题。(也,您考虑阅读<代码> PARCELSETION/COD>接口文档吗?)LoalSturgProvor不是问题,我将在GITHUB上发布一个迷你项目,这样您就可以看到所有的工作正常,只有当“不保留”活动被激活时,它才不工作。