2016-11-18 17 views
0

我想知道如果其能夠改變按鈕背景在for循環中Android - 在循環中更改按鈕背景?

這是代碼我曾嘗試:

  for(int i=0;i<=value;i++) { 
       Button button = (Button) view.findViewById(R.id.button + i); 
       button.setBackground(getResources().getDrawable(R.drawable.ic_favorite_border_black_24dp, null)); 
      }  

凡值= 0和10

之間的整數我得到的錯誤是一個空指針異常。請幫幫我。

+1

我會把你的按鈕放在一個視圖組中,並遍歷該視圖組中的所有視圖。然後獲取每個按鈕的引用並更改其背景。我認爲這將是一個更清潔的解決方案:看看這個鏈接:[http://stackoverflow.com/questions/8299056/iterating-through-viewgroup] – JustLearning

+0

我想你應該使用父視圖作爲所有按鈕的父視圖。 findViewById'。並在您創建這些按鈕的位置顯示您的代碼。因爲你的ID不符合任何觀點多數民衆贊成爲什麼按鈕爲空。 –

回答

1

我不明白你爲什麼要這樣做,如果所有的按鈕都具有相同的背景只是創建一個共同的風格。如果你有一個動態數量的按鈕,你需要創建一個ListView或者RecyclerView並用一個按鈕創建一個單元佈局。

+0

因爲我在1-10之間輸入一個int,如果它的5例如,我只想要前5個按鈕有一個特定的背景。 –

+0

如果您有動態數量的按鈕,您需要創建一個ListView或RecyclerView並使用按鈕創建單元佈局。 –