我有一个主活动,在OnCreate()中我实例化了81个按钮(从FrameLayout派生的MyButton类)。在构造函数的类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);
}
}
});
}
提前致谢
答案 0 :(得分:0)
首先,您在onCreate方法中缺少与此类似的行:
setContentView(R.layout.main);
将R.layout.main
常量更改为参考活动布局的常量,将该行放在此行后面:super.onCreate(savedInstanceState);