从这段代码中,它创建了来自另一个布局的给定值的动态按钮。我需要获取该ID并添加另一个按钮(如果动态按钮单击,则需要动态添加另一个按钮)。
for (int i = 0; i < value1; i++) {
LinearLayout.LayoutParams paramsIButton = new LinearLayout.LayoutParams
((int) ViewGroup.LayoutParams.WRAP_CONTENT, (int) ViewGroup.LayoutParams.WRAP_CONTENT);
ibutton = new ImageButton(HomePage.this);
ibutton.setImageResource(R.drawable.add);
ibutton.setLayoutParams(paramsIButton);
paramsIButton.topMargin = -70;
paramsIButton.leftMargin = 370;
paramsIButton.bottomMargin = 30;
ibutton.setId(i);
ibutton.getPaddingBottom();
ibutton.setBackgroundColor(Color.WHITE);
ibutton.setAdjustViewBounds(true);
rR.addView(ibutton);
}
答案 0 :(得分:1)
如果我从您在评论中提供的其他信息中理解正确,您需要知道用户何时点击了按钮。您可以将OnClickListener设置为按钮。
// Somewhere in your activity . . .
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener(){
public void onClick(View v){
// The button is clicked! Do whatever you want.
}
});
}
// ...
// Rest of the code
// ...
当然,您应该使用按钮的ID替换R.id.button1
。
答案 1 :(得分:1)
在我看来,你需要为动态添加按钮添加onClickListener。
让您的类实现OnClickListener,然后为动态按钮添加一个侦听器:
ibutton.setOnClickListener(this);
并在您的班级中添加onClick Listener:
@Override
public void onClick(View v)
{
// do something with this ID
v.getId()
}
我不知道你是如何跟踪灯泡和粉丝的,我希望你不要仅通过UI元素来做。我可能会做的有点不同,创建一个数据结构来跟踪灯泡和风扇,并将特定的灯泡或风扇对象作为标签附加到UI元素。