我正在使用Eclipse和Android SDK为Android设备开发应用程序; 我想用相同的OnClickListener添加一些ImageButtons(在运行时)。问题是OnClickListener仅适用于第一个添加的按钮。 对于所有下一个按钮,onClick事件根本不会触发。
有人已经遇到(并解决了)这个问题吗?
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2, float arg3) {
ImageButton myButton= new ImageButton(this);
myButton.setMaxHeight(140);
myButton.setMaxWidth(140);
myButton.setPadding(0, 0, 0, 0);
myButton.setAdjustViewBounds(true);
myButton.setImageResource(resId);
myButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
myRelativeLayout.addView(myButton, 0);
}
答案 0 :(得分:0)
您总是在第0个位置添加按钮。
myRelativeLayout.addView(myButton, 0);
所以你只需创建新按钮并将它们添加为“第一个按钮”,这可能就是为什么你只能看到它的工作原因。您之前创建的按钮会丢失。
答案 1 :(得分:0)
添加视图后,像这样设置点击监听器
final int count = myRelativeLayout.getChildCount();
for (int i = 0; i < count; i++) {
View child = myRelativeLayout.getChildAt(i);
child.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
});