如何存储按下Android应用程序的按钮



我正在制作一个Android应用程序,它需要用户从我制作的按钮中输入4个数字引脚,然后在确认PIN上。我认为我可以将PIN存储为阵列。

我的问题是,如何存储按钮?

这是我到目前为止提出的

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 = 
}

}
}

您需要声明一个变量来标记引脚的下一个位置。对于下面的代码,您可以将PIN的下一个位置保存到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.
}
  • 当您输入第一个PIN和ctr的值为0时,输入的PIN将保存到pin[0]
  • 当您输入第一个PIN和ctr的值为1时,输入的PIN将保存到pin[1]
  • 当您输入第一个PIN和ctr的值为2时,输入的PIN将保存到pin[2]
  • 当您输入第一个PIN和ctr的值为3时,输入的PIN将保存到pin[3]

只是我们一个布尔值:

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

如果PIN不正确或其他用户,请再次按下按钮,只需将isPressed重置为false

如何使用类似的东西?只需单击按钮,然后将数字添加到数组之后,您可以将其存储在共享preferences或其他内容中...

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;
}

}

相关内容

  • 没有找到相关文章

最新更新