Android自定义锁屏密码

时间:2012-11-20 05:25:14

标签: java android variables locking screen

我正在为Android创建一个锁屏应用程序,但是在输入正确的密码时我无法完成活动。代码工作仅在密码是一个字符时有效;否则,它不会解锁。我认为这与我如何修改全局变量有关。

这是我用来测试的代码。它应该通过按顺序触摸两个文本视图来解锁,但不会。

public class LockScreen extends Activity implements OnClickListener {

String password = "cd";
String guess;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.lock_layout);

    TextView c = (TextView) findViewById(R.id.c);
    TextView d = (TextView) findViewById(R.id.d);

    c.setOnClickListener(this);
    d.setOnClickListener(this);

}

public void onClick(View v) {

    switch(v.getId()) {
    case R.id.c:
        if (guess == null) {
            guess = "c";
        } else {
            guess += "c";
        }
        break;
    case R.id.d:
        if (guess == null) {
            guess = "d";
        } else {
            guess += "d";
        }
        break;
    }


    if (guess == password) {
        finish();
    }
}

1 个答案:

答案 0 :(得分:0)

- 使用equals()方法进行比较。

- 使用Objects方法比较 Java equals()String是一个对象,所以它也应该遵循与对象相同的趋势。

- ==用于查看2个或更多Object Reference Variables是否指向同一个对象或不在堆上。

- 只是一条建议,最好使用char[](即char数组)来存储密码,而不是String

<强>例如

if (guess.equals(password)){


}