我正在尝试验证用户输入的首选项文本,并在出现错误时显示对话框。但是当对话框尝试显示以下错误时,应用程序崩溃:
02-11 16:50:04.117:E / AndroidRuntime(3769):android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌android.os.BinderProxy@4055feb0无效;你的活动在运行吗?
此致 和Sandeep
答案 0 :(得分:0)
你的问题已经过时了,但早期的谷歌热播,所以希望这对某人有所帮助。这是我今天一起入侵的东西。
你片段中的:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
Your_Pref = (EditTextPreference) getPreferenceScreen().findPreference("Your_Pref");
Your_Pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
Boolean rtnval = true;
if (Your_Test) {
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Invalid Input");
builder.setMessage("Something's gone wrong...");
builder.setPositiveButton(android.R.string.ok, null);
builder.show();
rtnval = false;
}
return rtnval;
}
});
}