コントロールを書いていたときのこと。
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()