2012-02-11 61 views
1

我想验证用户输入的首选项文本,并在出现错误时显示对话框。但该应用程序崩溃时,对话框试图显示错误如下:验证android首选项并显示一个对话框

02-11 16:50:04.117:E/AndroidRuntime(3769):android.view.WindowManager $ BadTokenException:无法添加窗口 - 令牌[email protected]无效;你的活动正在运行?

问候, 桑迪普

+0

怎么ABT您共享对话框的代码? – Urban 2012-02-11 22:38:22

回答

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; 
      } 
     }); 
    }