我知道有很多問題與此非常相似,但後來他們都沒有爲我工作。 當我檢查框時,我想讓密碼可見。當我取消選中時,我需要點而不是實際的字符。 截至目前,我只有點。如何在當前inputType爲「textPassword」的EditText中顯示密碼?
我收到以下nullpointerexception。
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;
}
});
日誌工作。所以當我檢查盒子時,它實際上正在打印「顯然它的檢查」。但是,它會卡住,空指針異常會關閉應用程序。
任何幫助將是有用的!
是的,我意識到代碼是錯誤的。但它仍然不起作用。我重新檢查過我的mPasswordField不是null。 –