2013-12-20 103 views
0

所以我想動態地創建按鈕。但我不知道他們將如何定位,以及在哪裏放置「添加聽衆」。我已經看到了關於動態創建按鈕的問題,但沒有一個告訴我如何知道哪個按鈕被按下。我從以前的問題中提取了概念,並將它們整合到了我的代碼中。另外,有人可以告訴我如何在循環中創建按鈕時將其更改爲不同的圖像?如何動態創建按鈕並跟蹤哪些按鈕被按下?

Button btnArray[] = new Button[numMonstOwn]; 
    //ERROR HERE: the "layout" in "R.id.layout" 
    LinearLayout layout = (LinearLayout) findViewById(R.id.layout); 
    for(int i = 0; i < 5; i++){ 
     btnArray[i] = new Button(this); //initializing buttons 

     //ERROR HERE about: "LayoutParams" 
     btnArray[i].setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)) 
     btnArray[i].setText("button" + i); 
     btnArray[i].setOnClickListener(this); 
     System.out.println("yo"); 
     layout.addView(btnArray[i]); 
    } 

回答

1

而不是在按鈕設置onClickListener(this)做的onClickListener(new MyListenerObject());

MyListenerObject與你需要知道它是什麼按鈕,它需要採取什麼操作的設置或任何其他創建。

+0

謝謝!這真的有幫助。我最終創建了一個名爲「MyListenerObject」的類,並在按下按鈕時將這些操作放在那裏。 – user2295487

+0

沒問題,如果您對此感到滿意,請接受答案。您應該閱讀「匿名內部類」,它們對於按鈕監聽器等非常有用。 –