2012-11-08 51 views
0

我正在製作一個android應用程序,需要用戶從我製作的按鈕中輸入一個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 = 

} 


} 

} 
+0

查看http://stackoverflow.com/questions/2261914/catch-keypress-with-android – CatShoes

回答

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]
+0

我明白你在說什麼。謝謝。 –

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 
} 

如果PIN碼不正確或者與用戶的再次只需輕輕一按重置isPressedfalse再次

+0

所以這將有助於檢查/確認引腳?謝謝。 –

0

如何使用類似這樣的東西?剛剛拿到按鈕點擊後,該數字添加到陣列中,你可以把它存儲在sharedpreferences或東西...

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


} 
+0

我明白你在說什麼。謝謝。 –

相關問題