を呼び出されません私は、GridViewのを持っているのLinearLayoutを持っている:onDraw、onmeasureは
public class ParentClass implements OnClickListener , OnFocusChangeListener
{
//instance variables.
//constructors.
//initialization method:
public initMethod()
{
//initializes gridview , set adapters, listeners etc.
//+ code for adding gridview to linear layout etc.
}
//other methods
...
}
class Grid extends ViewGroup{
private GridView _gridView = null;
Grid()
{
super(MyActivity);
//code for grid-view initialization goes here
}
public void setAdapter(GridViewAdapter gridViewAdapter) {
// TODO Auto-generated method stub
_gridView.setAdapter(gridViewAdapter);
}
@Override
protected void onDraw(android.graphics.Canvas canvas) {
super.onDraw(canvas);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
// TODO Auto-generated method stub
int i = 0;
}
}
}
今、私は私のグリッドクラスのオーバーライドされたメソッドでbreakpintを入れたときに、それがヒットする必要があることを期待して!ブレークポイントがヒットしないのはなぜですか?ここに何か根本的なものがないのですか? 、グリッド)をインスタンス化が、レイアウトに追加されていない、したがって、それはあなたのビュー階層の一部を形成したことがない、ので、何もそれはonLayout(の呼びかけないだろうして、質問ごとにコメントとして
「グリッド」クラスは実際にどのように使用されていますか?グリッドインスタンスは実際にインスタンス化され、親ビューにいつでも追加されますか? –
はい親クラスがonclicklistenerを実装しているのを見て、グリッドビュー内のアイテムを見ることができます。また、オーバーライドされたメソッドonclickは、UIのGridviewのアイテムをクリックするとヒットします。私は、グリッドのクラスをインスタンス化アダプタを設定するために呼び出すところで、私はすべてのアイテムを持っているアダプタセットを取得し、クラスがインスタンス化されることを、デバッグモードで見ることができますが、グリッドクラスのoverddienメソッドは呼び出されません。 –
@ con_9あなたは親クラスでsetcontentview(Grid)を使用していますか? 「; layout.addView(グリッド);グリッドグリッド=新しいグリッド(コンテキスト)」 –