2013-09-30 50 views
4

我想在每行中有三個按鈕的活動中製作一個ImageButton列表。如果我使用XML(考慮到有超過100個按鈕),eclipse會抱怨有很多視圖。Android中的按鈕列表

有沒有更好的方法來做到這一點?謝謝!

+2

創建動態按鈕。 –

+0

@Hardy是對的。你也可以使用ListView和一個適配器。 http://www.vogella.com/articles/AndroidListView/article.html – MikeKeepsOnShine

+0

你真的在一個xml文件中創建了數百個按鈕嗎?爲什麼不使用列表視圖,併爲所有單元格創建三次按鈕佈局? – Steelight

回答

6

我想你應該做的按鈕dinamically ..這樣

Button[] btnWord = new Button[num]; 
LinearLayout linear; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.dynamicview); 
    test(); 
} 
private void test() { 
    linear = (LinearLayout) findViewById(R.id.linear); 
    for (int i = 0; i < btnWord.length; i++) { 
    btnWord[i] = new Button(this); 
    btnWord[i].setHeight(50); 
    btnWord[i].setWidth(50); 
    btnWord[i].setTag(i); 
    btnWord[i].setOnClickListener(btnClicked); 
    linear.addView(btnWord[i]); 
    } 
} 
OnClickListener btnClicked = new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    Object tag = v.getTag(); 
    Toast.makeText(getApplicationContext(), "clicked button", Toast.LENGTH_SHORT).show(); 
    } 
}; 

你可以改變按鈕陣列的數量

Button[] btnword = new Button[num];