2013-10-17 169 views
0

我有一個主要活動和OnCreate()我實例化81個按鈕(從FrameLayout派生類MyButton)。在構造函數中的MyButton類中,我創建了EventClickler 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);