0

私は、ユーザーが作成したボタンから4桁の暗証番号を入力し、後で暗証番号を確認する必要があるAndroidアプリを作成しています。ピンを配列として格納できると思いました。

私の質問は、押されたボタンをどのように保存するのですか?

これが私がこれまでに思いついたものです

public class EnterPin extends Activity 

{

public int[] pin = new int[4];

public void PinEnterd(View view)

{

int i;

for(i = 0; i < 4; i++ )

{

pin = 

}


}

}
4

3 に答える 3

0

このようなものを使ってみませんか?ボタンをクリックして配列に数字を追加するだけで、共有設定などに保存できます...

public class EnterPin extends Activity implents OnClickListener{

public int[] pin = new int[4];
public Button[] buttons;


public onCreate(...){
    buttons[0] = (Button)findViewById(R.id.b1);
    ...
    buttons[9] = (Button)findViewById(R.id.b9);

    buttons[0].addOnclickListener(this);
    ...
    buttons[9].addOnclickListener(this);
}
public ... OnClickListener(View v){
switch(v.getId()){
    case R.id.b1:
        pin[] = 0;
    break;
    ...
    case R.id.b10:
        pin[] = 9;
    break;
}


}
于 2012-11-08T19:40:06.387 に答える
0

ブール値だけです:

private boolean isPressed = false;

public void PinEntered(View v) {
    if(!isPressed) {
        isPressed = true;
        // Do what you like to do on a Button press here
}

ピンが間違っているか、ユーザーがボタンをもう一度押した場合は、もう一度リセットするisPressedだけですfalse

于 2012-11-08T19:35:38.100 に答える
0

ピンの次の位置をマークする変数を宣言する必要があります。以下のコードの場合、ピンの次の位置を に保存できますctr

public int[] pin = new int[4];
int ctr = 0; //add this to mark the index of your pin

public void PinEnterd(View view)
{
    Button btnPressed = (Button) view; //get access to the button
    int value = Integer.parseInt(btnPressed.getText().toString()); //get the value of the button
    pin[ctr++] = value; //save inputted value and increment counter. next position after 0 is 1.
}
  • 最初のピンを入力し、 の値ctrが 0 の場合、入力されたピンは に保存されpin[0]ます。
  • 最初のピンを入力し、 の値ctrが 1 の場合、入力されたピンは に保存されpin[1]ます。
  • 最初のピンを入力し、 の値ctrが 2 の場合、入力されたピンは に保存されpin[2]ます。
  • 最初のピンを入力し、 の値ctrが 3 の場合、入力されたピンは に保存されpin[3]ます。
于 2012-11-09T06:50:01.997 に答える