单击事件时,多个按钮和一个按钮没有响应

时间:2013-10-17 10:38:19

标签: java android

我有一个主活动,在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);

            }
        }
    });
}

提前致谢

1 个答案:

答案 0 :(得分:0)

首先,您在onCreate方法中缺少与此类似的行:

setContentView(R.layout.main);

R.layout.main常量更改为参考活动布局的常量,将该行放在此行后面:super.onCreate(savedInstanceState);