我知道有很多与此非常相似的问题,但似乎没有一个对我有用。当我选中该框时,我希望密码可见。当我取消选中它时,我想要点而不是实际字符。到目前为止,我只有点。
我收到以下空指针异常。
07-08 15:08:50.441: E/AndroidRuntime(4518): FATAL EXCEPTION: main
07-08 15:08:50.441: E/AndroidRuntime(4518): java.lang.NullPointerException
07-08 15:08:50.441: E/AndroidRuntime(4518): at com.passwordkeeper.ui.ActivityPreferenceScreen$1.onPreferenceClick(ActivityPreferenceScreen.java:65)
07-08 15:08:50.441: E/AndroidRuntime(4518): at android.preference.Preference.performClick(Preference.java:951)
07-08 15:08:50.441: E/AndroidRuntime(4518): at android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:215)
这是我的代码:
@SuppressWarnings("deprecation")
public void setFields(){
mPasswordField = (EditText) findViewById (R.id.loginPwdEditText);
showPwd = (CheckBoxPreference) findPreference("checkBox");
showPwd.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
if(showPwd.isChecked()){
Log.v("showpwd", "apparently its checked");
mPasswordField.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
}
else{
Log.v("showpwd", "apparently its not checked now");
mPasswordField.setInputType( InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD );
}
return true;
}
});
日志正在工作。因此,当我选中该框时,它实际上是在打印“显然已选中”。但是随后,它卡住了,空指针异常关闭了应用程序。
任何帮助都会很有用!