以下代码显示以下错误:
“片段应该是静态的,以便它们可以被系统重新实例化,而匿名类不是静态的”
我该如何解决?
public voID A(){ final DialogFragment dialogFragment = new DialogFragment() { @OverrIDe public Dialog onCreateDialog(Bundle bundle) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage("Hello"); builder.setPositivebutton("OK", new DialogInterface.OnClickListener() { @OverrIDe public voID onClick(DialogInterface dialog, int which) { B(); } } ); return builder.create(); } };}private voID B() { //...}
解决方法:
读取片段生命周期你应该这样使用
public static class MyAlertDialogFragment extends DialogFragment { public static MyAlertDialogFragment newInstance(int Title) { MyAlertDialogFragment frag = new MyAlertDialogFragment(); Bundle args = new Bundle(); args.putInt("Title", Title); frag.setArguments(args); return frag; } @OverrIDe public Dialog onCreateDialog(Bundle savedInstanceState) { int Title = getArguments().getInt("Title"); return new AlertDialog.Builder(getActivity()) .setIcon(R.drawable.alert_dialog_icon) .setTitle(Title) .setPositivebutton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() { public voID onClick(DialogInterface dialog, int whichbutton) { ((FragmentAlertDialog)getActivity()).doPositiveClick(); } } ) .setNegativebutton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() { public voID onClick(DialogInterface dialog, int whichbutton) { ((FragmentAlertDialog)getActivity()).doNegativeClick(); } } ) .create(); }}
总结 以上是内存溢出为你收集整理的android – 片段应该是静态的,以便它们可以被系统重新实例化,而匿名类不是静态的全部内容,希望文章能够帮你解决android – 片段应该是静态的,以便它们可以被系统重新实例化,而匿名类不是静态的所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)