コントロールを書いていたときのこと。
ViewPager を継承するクラス
subViewPager があります。この
ViewPager の
getCurrentItem() メソッドを別のクラスで使用する必要があります。これは、このコントロールの特定の座標を取得することを意味します。
ViewPager は特殊効果用であるため、その
getCurrentItem() によって返される座標は、データ コレクションの長さ
size ,## を超える可能性があります。
size = 1024の結果が返ってくるといいですね。%=size: 4028 24
で、
getCurrentItem()
は40280
# を返します。
##なので、私が積極的に電話をかけると、座標
同時に、彼の
getCurrentItem()
40280 のような数値を返す必要があります。
私の当初のアプローチは、
%=size
その後、少し変更して、
new Exception().getStackTrace();
ただし、この方法では大量のガベージ メモリが生成され、頻繁に
GC
しかし、強制転送は常に少し不快で、再利用性がないように感じます。 (コードが悪いからですが…これを行うと subViewPager
の再利用性も低下します) そこで、同じメソッドを異なるクラスで呼び出す方法があるかどうかを聞きたかったのです。さまざまな操作をスムーズに実行できますか?
subViewPager重写getCurrentItem()不就可以了吗。。
看过类似的库的实现方案,如果你的这个方法内部和外部调用的返回的业务逻辑就不统一的话,建议还是额外定义一个方法比较好……比如
getCurrentRealItem()