簡體   English   中英

onDraw,onmeasure不被調用

[英]onDraw, onmeasure does not gets called

我有一個LinearLayout具有gridview:

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類的重寫方法中放置一個breakpint時,它應該會成功! 為什么斷點不被擊中? 我在這里缺少基本的東西嗎?

根據問題注釋,Grid已實例化但未添加到布局中,因此它從未構成View層次結構的一部分,因此沒有什么可以稱呼它為onLayout()等。

確實在Layout._gridView中引用了一個包含的GridView實例,因此確實增加了布局。

可能是Grid類應該擴展GridView而不是包含它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM