et_pass.setTransformationMethod(new MyTransformation());
cb_show.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {
et_pass.setTransformationMethod(HideReturnsTransformationMethod
.getInstance());
} else {
et_pass.setTransformationMethod(new MyTransformation());
}
}
});
final SharedPreferences sharedPreferences = this.getSharedPreferences(
"userInfo", Context.MODE_PRIVATE);
String name = sharedPreferences.getString("userName", "");
String pass = sharedPreferences.getString("userPass", "");
et_name.setText(name);
et_pass.setText(pass);
but_login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String name = et_name.getText().toString();
String pass = et_pass.getText().toString();
if (name.equals("aa") && pass.equals("123")
|| name.equals("bb") && pass.equals("456")) {
Toast.makeText(MainActivity.this, "登录成功!",
Toast.LENGTH_SHORT).show();
if (cb_save.isChecked()) {
Editor edit = sharedPreferences.edit();
edit.putString("userName", name);
edit.putString("userPass", pass);
edit.commit();
} else {
Editor edit = sharedPreferences.edit();
edit.remove("userName");
edit.remove("userPass");
edit.commit();
// File file = new File("/data/data/"
// + getPackageName().toString()
// + "/shared_prefs/userInfo.xml");
// if (file.exists()) {
// file.delete();
// }
}
} else {
Toast.makeText(MainActivity.this, "用户名或密码错误!",
Toast.LENGTH_SHORT).show();
}
}
});
}
class MyTransformation extends PasswordTransformationMethod {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
// TODO Auto-generated method stub
return new PassWordChar(source);
}
}
class PassWordChar implements CharSequence {
private CharSequence source;
public PassWordChar(CharSequence source) {
this.source = source;
}
@Override
public int length() {
// TODO Auto-generated method stub
return source.length();
}
@Override
public char charAt(int index) {
// TODO Auto-generated method stub
return '*';
}
@Override
public CharSequence subSequence(int start, int end) {
// TODO Auto-generated method stub
return source.subSequence(start, end);
}