我有一个main-activity,在OnCreate()中,我实例化了81个按钮(类MyButton是从FrameLayout派生的)。在构造函数的MyButton类中,我创建了Eventhandler onClick()。我在onClick()-function中(在if语句中)设置了一个断点。当我调试应用程序并单击一个按钮时,应用程序会在所有按钮的onClick()-function中停止,但button8不会。有人知道为什么吗?
下面是代码片段:
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);
}
}
});
}提前感谢
发布于 2013-10-17 18:46:44
首先,在您的onCreate方法中缺少与以下内容类似的一行:
setContentView(R.layout.main);将R.layout.main常量更改为引用活动布局的常量,将该行放在下面一行之后:super.onCreate(savedInstanceState);
https://stackoverflow.com/questions/19424421
复制相似问题