程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> button-以程序的方式從添加的按鈕中獲得OnClick()事件

button-以程序的方式從添加的按鈕中獲得OnClick()事件

編輯:編程綜合問答
以程序的方式從添加的按鈕中獲得OnClick()事件

我用以下代碼添加了一些按鈕:

for (int i=0; i<XML.size(); i++) {
//添加按鈕
ToggleButton b = new ToggleButton(this); 
// 參數設置
lefttextv.setLayoutParams(lleft); 
b.setLayoutParams(bright);
//自定義按鈕
    b.setOnClickListener(this);
b.setId(id_button);
System.out.println(id_button);
b.setHeight(100);
b.setWidth(200);
// 作為子類添加到RelativeLayout布局
layouth.addView(lefttextv);
layouth.addView(b);
id_button++;  
}

但是如何獲得OnClick()事件?我用以下的方法實現了View.OnClickListener事件:

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId())
    {
    case id_button: Log.d("Button 0","Button 0 pressed);
        break;
    }
}

但是運行不了,如何獲得id?

最佳回答:


b是視圖,如果你的onClick方法在主類中,使用b.setOnClickListener(this);
並且讓activity實現onClickListener方法或者按常規方法設置接聽事件。

id是用於xml引用,對象創建後要使用這個id引用,在你的例子中,你常見的視圖b包含了ToggleButton的所有的屬性。

使用if(v == b)代替if v.getId()

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved