我在程序中添加了一些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,你点击最后一个按钮应该会打印出信息吧