国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

java - 同じメソッドに対して、異なるソースからの呼び出しを異なる方法で処理するエレガントな方法はありますか?
淡淡煙草味
淡淡煙草味 2017-07-03 11:42:06
0
2
1419

コントロールを書(shū)いていたときのこと。
ViewPager を継承するクラス subViewPager があります。この ViewPagergetCurrentItem() メソッドを別のクラスで使用する必要があります。これは、このコントロールの特定の座標(biāo)を取得することを意味します。

しかし、私の

ViewPager は特殊効果用であるため、その getCurrentItem() によって返される座標(biāo)は、データ コレクションの長(zhǎng)さ size ,## を超える可能性があります。

#たとえば、データ コレクションの長(zhǎng)さは
size = 1024

で、getCurrentItem()
40280# を返します。 ##なので、私が積極的に電話(huà)をかけると、座標(biāo)

%=size: 4028 24
の結(jié)果が返ってくるといいですね。

同時(shí)に、彼の getCurrentItem()

メソッドは、システムによって呼び出されたときに

40280 のような數(shù)値を返す必要があります。 私の當(dāng)初のアプローチは、%=size

の後に結(jié)果を取得する特別なメソッドを記述することでした。このパラメータを取得する必要がある場(chǎng)合は強(qiáng)制的に実行します。

その後、少し変更して、new Exception().getStackTrace();

を使用してコール スタック情報(bào)を取得し、メソッドが指定されたクラスによって呼び出されたかどうかを判斷しました。これにより、サブクラス固有のメソッドを強(qiáng)制的に作成する必要がなくなります。

ただし、この方法では大量のガベージ メモリが生成され、頻繁に GC

が発生するため、最初の方法で対処することを検討してください。

しかし、強(qiáng)制転送は常に少し不快で、再利用性がないように感じます。 (コードが悪いからですが…これを行うと subViewPager の再利用性も低下します) そこで、同じメソッドを異なるクラスで呼び出す方法があるかどうかを聞きたかったのです。さまざまな操作をスムーズに実行できますか?

淡淡煙草味
淡淡煙草味

全員に返信(2)
大家講道理

subViewPager が getCurrentItem() をオーバーライドするだけでは十分ではないでしょうか? 。

學(xué)霸

同様のライブラリの実裝ソリューションを見(jiàn)てきましたが、メソッドの內(nèi)部呼び出しと外部呼び出しによって返されるビジネス ロジックに一貫性がない場(chǎng)合は、追加のメソッドを定義することをお?jiǎng)幛幛筏蓼?..たとえば getCurrentRealItem()

最新のダウンロード
詳細(xì)>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート