亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

java - 對于同一個方法,有沒有什么優雅的方法對不同來源的調用有不同的處理方式?

瀏覽:86日期:2024-02-18 17:09:22

問題描述

我在寫一個控件的時候。有一個類subViewPager繼承了ViewPager,我在另外一個地方需要用到這個ViewPager的getCurrentItem()方法,意思就是獲取這個控件的某個坐標。

但是由于我這個ViewPager為了特殊效果,就讓它的getCurrentItem()返回的坐標有可能超出了我數據集合的長度size,

比如我的數據集合的長度為size = 1024而getCurrentItem()返回的是40280

所以在我主動調用他的時候我希望他能返回給我的是這個坐標%=size : 4028%1024的結果。

同時他的getCurrentItem()方法被系統調用時應該返回應該是40280這樣的數字。

我原來的做法是寫一個特殊的方法獲得這個%=size 后的結果。在需要獲取這個參數的時候強轉一下。

后來我改變了一下,利用new Exception().getStackTrace(); 獲取調用棧的信息來判斷方法是否被指定類調用的。這樣就不需要強轉和寫一個子類特有的方法了。

但是這樣的做法會產生大量的垃圾內存,頻繁引起GC,所以考慮用回第一種方法來處理了。但是強轉總是有點讓人不爽,感覺沒有什么復用性。(雖然是代碼爛的原因。。而且這樣做這個subViewPager的復用性也降低了)所以就想來請教一下有什么辦法讓同一個方法在不同類中被調用時有什么辦法可以優雅的做出不同的操作?

問題解答

回答1:

subViewPager重寫getCurrentItem()不就可以了嗎。。

回答2:

看過類似的庫的實現方案,如果你的這個方法內部和外部調用的返回的業務邏輯就不統一的話,建議還是額外定義一個方法比較好……比如 getCurrentRealItem()

標簽: java
主站蜘蛛池模板: 久草视屏 | 在线观看黄a | 国产精品亚洲第一区广西莫菁 | 免费一级毛片在线观看 | 成人在线网 | 五月一区二区久久综合天堂 | 国产成人亚洲毛片 | 91视频这里只有精品 | 中文字幕一级片 | 91精品国产欧美一区二区 | 日韩高清在线亚洲专区vr | 香蕉97超级碰碰碰碰碰久 | 欧美亚洲日本国产综合网 | 国产福利小视频在线播放观看 | 亚洲欧美日本综合一区二区三区 | 欧美一级黄色片免费看 | 国产麻豆高清在线观看 | 国产日本韩国不卡在线视频 | 久久99国产亚洲精品观看 | 欧美性视频网站 | 综合免费视频 | 色综合久久久久久久久五月性色 | 在线看片 在线播放 | 一级a级国产不卡毛片 | 中国一级黄色片 | 黄 色 成 年人网站 黄+在线播放 | 婷婷综合社区 | 国内嫩模私拍精品视频 | 亚洲综合色婷婷六月丁香 | 一区视频在线播放 | 欧美日韩一区二区三区免费不卡 | 久久受www免费人成看片 | 日韩精品高清自在线 | 狠狠色丁香久久婷婷综 | 国产一区二区三区不卡在线观看 | 精品在线视频免费 | 国产成版人视频网站免费下 | 亚洲欧美片 | 免费观看一级毛片 | 亚洲精品tv | 久久天堂成人影院 |