我有一个有网格视图的LinearLayout:
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;
}
}
}现在,我希望当我在我的Grid类的被覆盖的方法中放入一个断点时,它应该命中!为什么断点没有命中?我是不是遗漏了什么基本的东西?
发布于 2011-01-27 21:35:19
根据问题注释,网格是实例化的,但没有添加到布局中,因此它永远不会成为视图层次结构的一部分,因此没有任何东西会调用它的onLayout()等。
在Grid._gridView中引用的一个包含的GridView实例确实被添加到布局中,因此造成了混乱。
可能网格类应该扩展GridView而不是包含它。
https://stackoverflow.com/questions/4816236
复制相似问题