コントロールを書(shū)いていたときのこと。
ViewPager を継承するクラス
subViewPager があります。この
ViewPager の
getCurrentItem() メソッドを別のクラスで使用する必要があります。これは、このコントロールの特定の座標(biāo)を取得することを意味します。
ViewPager は特殊効果用であるため、その
getCurrentItem() によって返される座標(biāo)は、データ コレクションの長(zhǎng)さ
size ,## を超える可能性があります。
size = 1024の結(jié)果が返ってくるといいですね。%=size: 4028 24
で、
getCurrentItem()
は40280
# を返します。
##なので、私が積極的に電話(huà)をかけると、座標(biāo)
同時(shí)に、彼の
getCurrentItem()
40280 のような數(shù)値を返す必要があります。
私の當(dāng)初のアプローチは、
%=size
その後、少し変更して、
new Exception().getStackTrace();
ただし、この方法では大量のガベージ メモリが生成され、頻繁に
GC
しかし、強(qiáng)制転送は常に少し不快で、再利用性がないように感じます。 (コードが悪いからですが…これを行うと subViewPager
の再利用性も低下します) そこで、同じメソッドを異なるクラスで呼び出す方法があるかどうかを聞きたかったのです。さまざまな操作をスムーズに実行できますか?
subViewPager が getCurrentItem() をオーバーライドするだけでは十分ではないでしょうか? 。
同様のライブラリの実裝ソリューションを見(jiàn)てきましたが、メソッドの內(nèi)部呼び出しと外部呼び出しによって返されるビジネス ロジックに一貫性がない場(chǎng)合は、追加のメソッドを定義することをお?jiǎng)幛幛筏蓼?..たとえば getCurrentRealItem()