2013-07-14 52 views
0

我的應用程序由GridLayout和多個按鈕組成(目前它們都是ToggleButtons)。由於按鈕的數量將根據用戶操作而改變,我希望能夠添加和刪除代碼中的按鈕。我可以在xml中爲按鈕創建佈局,然後在Java中創建並將它們添加到我的GridLayout中?基於相同佈局的多個按鈕?

回答

1

是的。您的適配器的getView函數可以從xml中充滿按鈕。一般來說,你檢查並看看傳入的視圖是否爲空,如果是你膨脹一個新的。

+0

'Grid ** Layout **',而不是'GridView'。 –

+0

謝謝。我爲我的按鈕佈局創建了一個新的佈局文件,並將其擴展到在Java中創建的按鈕。 'ToggleButton button =(ToggleButton)getLayoutInflater()。inflate(R.layout.togglebutton,null);' – Juholei

0

你可以輕鬆做到這一點。這裏是一個例子:

LinearLayout buttonsLayout = (LinearLayout) yourLayout.findViewById(R.id.items_layout); 
LayoutParams buttonLayoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT,   LayoutParams.WRAP_CONTENT); 
buttonLayoutParams.setMargins(mMarginsInPixel, 0, mMarginsInPixel, 0); 
button.setLayoutParams(buttonLayoutParams); 

// Adding button to layout 
buttonsLayout.addView(button); 

// or removing button from layout 
buttonsLayout.removeView(button); 
+0

這似乎並不是我想要的。我想在xml中創建按鈕的佈局,然後在Java中使用該佈局創建按鈕。在你的答案中,LinearLayout是在xml中完成的,並且按鈕的佈局設置爲Java,如果我理解正確的話。 – Juholei

+0

我並沒有完全理解這兩者之間的區別,所以我只會描述我的代碼的作用:) 您使用XML創建佈局。 (線性佈局,或任何你喜歡的) 然後,在這個java代碼中,你可以通過id找到xml佈局,創建按鈕並將它們添加到該佈局 – TalDroid