Android用のロック画面アプリを作成していますが、正しいパスワードを入力したときにアクティビティを終了するのに問題があります。コードが機能するのは、パスワードが1文字の場合のみです。それ以外の場合は、ロックが解除されません。それは私がグローバル変数をどのように変更しているかに関係していると思います。
これは私がテストに使用しているコードです。2つのテキストビューを順番にタッチしてロックを解除する必要がありますが、そうではありません。
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();
}
}