我有一个主要活动,在 OnCreate() 中我实例化了 81 个按钮(MyButton 类派生自 FrameLayout)。在构造函数的 MyButton 类中,我创建了 Eventhandler onClick()。我在 onClick() 函数中设置了一个断点(在 if 语句中)。当我调试应用程序并单击按钮时,应用程序会在所有按钮的 onClick() 函数中停止,但对于按钮 [8] 则不会。有人知道为什么吗?
这里的代码片段:
public class MainActivity extends Activity {
public MyButton[] buttons;
@Override
protected void onCreate(Bundle savedInstanceState) {
int i;
super.onCreate(savedInstanceState);
GridLayout myGrid=(GridLayout)findViewById(R.id.gridLayout);
buttons=new MyButton[81];
for(i=0;i<81;i++) {
buttons[i]=new MyButton(this,i);
myGrid.addView(buttons[i]);
}
}
}
public class MyButton extends FrameLayout {
public int Position;
public MyButton(Context context,int pos)
{
super(context);
Position = pos;
.
.
.
setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (v instanceof MyButton ) {
MainActivity ma=(MainActivity)v.getContext();
if(ma.sudAct!=null) ma.setButton(Position);
}
}
});
}
提前致谢