2012-08-01 111 views
1

如何在點擊2次後更改android按鈕? 第一時間更改按鈕,我會壓制後再次使用此代碼Android按鈕2點擊

{ 
    public void onClick(View v) { 
     b.setBackgroundDrawable(getResources().getDrawable(R.drawable.menubuttonpressed)); 
    } 
} 

我想更改的按鈕來查看一遍 我該怎麼辦呢?

+1

取一個計數器變量。每當按鈕被點擊時每增加一次。檢查條件並設置圖像。 – 2012-08-01 10:50:27

+0

保留一個全球計數器,而不是跟蹤點擊次數。然後執行'if(clickCount> 1)..Changebutton image' – Doomsknight 2012-08-01 10:50:31

回答

2

也許不喜歡這樣寫道:

int count = 0; 

public void onClick(View v) { 
    count++; 

    if(count == 2){ 
     count = 0; 
     b.setBackgroundDrawable(getResources() 
         .getDrawable(R.drawable.menubuttonpressed)); 
    } 
} 

這將在您的按鈕(視圖)每2點擊後成立的背景。

+0

你不能在onClick函數內增加一個變量,因爲它必須是一個不能遞增的最終變量 – 2012-08-01 10:53:03

+0

@MohamedNaguib使其成爲全局變量,然後 – Pallavi 2012-08-01 10:54:16

+0

@MohamedNaguib:錯誤!你可以增加。你所說的話可能暗示在匿名內部類和/或線程 – waqaslam 2012-08-01 10:55:08

2
private int clickCount =0; 

public void onClick(View v) { 

    if (clickCount==0) { 
     b.setBackgroundDrawable(getResources().getDrawable(R.drawable.menubuttonpressed)); 
    } else { 
     // do something else 
    } 
    clickCount++; 
} 
2

那麼,一種方法是保持一個計數器。

numberOfClicks = 0; 
... 
public void onClick(View v) { 
    ... 
    if(numberOfClicks==0) 
    b.setBackgroundDrawable(getResources().getDrawable(R.drawable.menubuttonpressed0)); 
    else if(numberofClicks==1) 
    b.setBackgroundDrawable(getResources().getDrawable(R.drawable.menubuttonpressed1)); 
    ... 
    numberofClicks++; 
}