全画面表示/通常表示のフラグメントを使用してフォトビューアを実装しようとしています。ここでアクティビティを含む API サンプルを参照してください: https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/src/com/example/android/apis/view/ContentBrowserActivity.java
しかし、私はAndroidバージョン<ハニカムで奇妙なバグに気づきました。フラグメント内に OnSystemUiVisibilityChangeListener を実装すると、アプリケーションが NoClassDefFoundError でクラッシュします。Android 4 では、すべて正常に動作します。このバグの回避策はありますか?
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
PhotoViewPager viewPager = new PhotoViewPager(getActivity());
viewPager.setTag("photoViewPager");
viewPager.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
int diff = mLastSystemUiVis ^ visibility;
mLastSystemUiVis = visibility;
if ((diff & View.SYSTEM_UI_FLAG_LOW_PROFILE) != 0
&& (visibility & View.SYSTEM_UI_FLAG_LOW_PROFILE) == 0) {
setNavVisibility(true);
}
}
});
return viewPager;
}
スタックトレース
ERROR/AndroidRuntime(12708): FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.ex.android.main.photos.photo.PhotoFragment$2
at com.ex.android.main.photos.photo.PhotoFragment.onCreateView(PhotoFragment.java:87)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)