2012-07-09 106 views
0

我製作了一個簡單的計數器程序,在此我單擊加號或減號按鈕,並在計數器中添加或刪除1。使用按鈕增加變量

我想能夠添加更多的計數器:例如。計數器1,計數器2,計數器3等 這裏有一個如何我和2個計數器現在在做一個例子,但你可以看到我宣佈我的變量,我想生成它們全自動

int counter, counter2; 
ImageButton add, sub, add2, sub2, btnSet; 
TextView display, display2; 

而這裏的我是多麼使用加號按鈕

// Plus button setup 
    add.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      counter++; 
      display.setText(""+counter); 
      Vibrator vibr = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 

      vibr.vibrate (20); 
+2

「但你可以看到我已經聲明瞭我的變量,並且我想自動生成它們」 - 意思是? – user370305 2012-07-09 13:34:36

+0

更改某些內容後調用'display.invalidate()'。否則,告訴我們什麼是錯的。 – DeeV 2012-07-09 13:36:53

+0

我想製作一個「添加計數器」按鈕,然後生成4個變量counter3,add3,sub3,display3。 當我再次按加計數器時,它會產生counter4,add4,sub4,display4。 等等 – DoubleP90 2012-07-09 13:37:53

回答

1

您可以創建包含與您的增量按鈕的信息類:

class IncrementButton { 
    int step; 
    int counter; 
    ImageButton add, sub; 
    TextView display; 

    public IncrementButton(int step) { 
     this.step = step; 
     add = ... 
     sub = ... 
     display = ... 

     add.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       counter += step; 
       display.setText("" + counter); 
       Vibrator vibr = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
       vibr.vibrate (20); 
      } 
     } 

     ... 

    } 
} 

,並把OBJE在列表類的CTS - 3個按鈕例如:

List<IncrementButton> buttons = new ArrayList<IncrementButton>(); 

for (int i = 0; i < 3; i++) { 
    IncrementButton btn = new IncrementButton(i + 1); 
    buttons.add(btn); 
} 
+0

謝謝,我會去研究一下關於列表,因爲它不是完全清楚它是如何工作的,但我認爲我得到了這個:) 非常感謝 – DoubleP90 2012-07-09 14:19:54

0

創建您贏得小部件包含櫃檯,2個按鈕(用於添加和訂閱)和文本視圖, 把所有你的邏輯存在(上點擊聽衆等等),並且只是在你的活動中保存你想要的多個實例列表。