SLaks 2013-05-27 07:50 采纳率: 0%
浏览 4570
已结题

Android: AlertDialog优先级

OnPreferenceClickListener函数创建了一个新的AlertDialog。当我运行程序时有下面的异常:

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application

代码有什么错误?

public static class PrefsFragment extends PreferenceFragment {
    Preference pref= findPreference("text_preference1");
    pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        @Override
        public boolean onPreferenceClick(Preference preference) {
            new AlertDialog.Builder(mContext).setTitle(R.string.alert_dialog_title)
                    .setMessage(R.string.alert_dialog_message)
                    .setPositiveButton(R.string.alert_dialog_ok,
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                        }
                    })
                    .setNegativeButton(R.string.alert_dialog_nein, null).show();
                     //do s.th.
        return false;
        }
    });
}
  • 写回答

2条回答 默认 最新

  • franzhong 2013-05-28 04:11
    关注

    试一下将Builder参数mContext换为Activity名,比如MyTestActivity.this试一下

    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试