问题描述
- 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; } }); }
解决方案
试一下将Builder参数mContext换为Activity名,比如MyTestActivity.this试一下
解决方案二:
mContext,赋的什么值
时间: 2024-11-30 01:05:37