20

ViewPager 自体がフラグメント内にある FragmentPagerAdapter を使用して ViewPager を実装しようとしています。最新のサポート ライブラリとネストされたフラグメントを使用することで可能になるはずであるというドキュメントを読みました。主に、PagerAdapter がルート フラグメントの子フラグメント マネージャーを使用するようにしたいと考えています。

そのため、私のプロジェクトでは ActionBarSherlock と SherlockFragments を使用しています。ActionBarSherlock に同梱されているサポート ライブラリには getChildFragmentManager() メソッドがまったく含まれていなかったので、最新のサポート ライブラリ v4 をダウンロードして、ActionBarSherlock と私のプロジェクトの libs フォルダーにも配置しました。この変更により、プロジェクトは正常にコンパイルされますが、最初の実行では getChildFragmentManager() に関する NoSuchMethodError で終了します。ここで何が間違っていますか?

(PS は、ターゲットとする最小プラットフォームである Android 2.2 でテストしています。)

ありがとう!

解決済み: プロジェクトとすべての参照ライブラリのサポート ライブラリを最新バージョンに置き換えました。次に、プロジェクトをクリーンアップしましたが、参照されているライブラリもクリーンアップして再構築するのを忘れていました...これにより、この奇妙な動作が発生しました。

4

3 に答える 3

4

参照されているライブラリがサポート ライブラリ v13 を使用していないことを確認してください。v13 ライブラリのみを使用すると、v13 を使用するプロジェクトを参照するすべてのプロジェクトで使用され、これは getChildFragmentManager() メソッドに干渉するようです。詳細についてはTHIS QUESTIONを参照し、ワークスペース全体で Project->Clean を実行するときのコンソールの出力に注意してください (Eclipse を使用していると仮定します)。

私はあなたと同じ問題を抱えていましたが、参照されている5つのライブラリの1つからv13ライブラリを削除すると解決しました.

于 2013-01-18T08:43:04.320 に答える
0

これを修正する唯一の方法は、ActionBarSherlock を最新の android-support-v4 ライブラリ (19.1) で更新することです。Android Manager からアップロードして取得できます。その後、この変更を加えて apk を再コンパイルすると、メソッドが取得されます。

于 2014-04-24T14:52:46.007 に答える
0

解決済み: プロジェクトとすべての参照ライブラリのサポート ライブラリを最新バージョンに置き換えました。次に、プロジェクトをクリーンアップしましたが、参照されているライブラリもクリーンアップして再構築するのを忘れていました...これにより、この奇妙な動作が発生しました。

于 2017-09-25T23:43:13.170 に答える