簡體   English   中英

為什么我不能從android.view繼承受保護的字段?

[英]Why cant I inherit a protected field from android.view?

我試圖重寫offsetTopAndBottom(int offset)方法,它是一個View類方法。 但是,當我嘗試訪問mTopmBottom字段時,即使它們在View類中protected ,也會出現錯誤。

有誰知道我為什么會有這種訪問問題?

例如:

CustomView extend android.view.View{

   someOverridenMethod()
   {
       mTop = 10 //error, mTop no resolved as a type
   }
}

根據View javadoc ,沒有名為mTop的成員或方法。

所有m{variables}都不可用。 對於我一生,我不記得為什么,這與m{variables}無關,不是公共API的一部分。

我遇到了類似的問題,經過幾天的搜索,我幾乎發現它是不可能的。

我相信你可以嘗試調用View.layout(int left, int top, int right, int bottom) ;

這最終將設置mTop值,此時您可以調用getTop() 但是,有一種瘋狂的方法,結果您會發現將調用許多其他方法。 因此,這是否真的對您有幫助是很好的……值得一看。

暫無
暫無

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

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