程序化添加按钮如何获得OnClick()方法?

我在程序中添加了一些buttons。

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;
    }
}

还是不能获取OnClick()方法,怎么能获取ID呢?

你使用for循环生成了xml.size()个button,setId(id_button);id_button++

switch (v.getId())
    {
    case **id_button**: Log.d("Button 0","Button 0 pressed);
        break;
    }

这部分代码的id_button应该是最后一个按钮的ID,你点击最后一个按钮应该会打印出信息吧

你已经设置了button的id,例如id_button是吧
添加onCreate方法:

b1.setOnClickListener(this);    

在onClick方法中使用id

@Override
 public void onClick(View v) {
    // TODO Auto-generated method stub
    if(v.getId() == R.id.id_button)
    {
    Log.d("Button 0","Button 0 pressed);
        break;
    }
}
public void onClick(View v) {
    int id = v.getId();
    if (id < id_button) {
        Log.d("Button " + id, "Button "+id+ " pressed");
    }
}

貌似这是JAVA的,MFC里面倒还是晓得点,设置ID后还需要关联的,然后添加Onclick事件处理函数,这个JAVA不晓得是不是这样

你使用for循环生成了xml.size()个button,setId(id_button);id_button++

switch (v.getId())
{
case id_button: Log.d("Button 0","Button 0 pressed);
break;
}
这部分代码的id_button应该是最后一个按钮的ID,你点击最后一个按钮应该会打印出信息吧