【发布时间】:2014-04-17 06:52:49
【问题描述】:
我想在我的 SherlockFragment 类中设置 ActionbarOverlay 功能。
谁能告诉我,我该怎么做?
我尝试在 OnCreateView 方法中添加行 getSherlockActivity().requestWindowFeature(Window.FEATURE_ACTION_MODE_OVERLAY);。
但它给了我错误:
04-17 12:19:35.789: E/AndroidRuntime(844): FATAL EXCEPTION: main
04-17 12:19:35.789: E/AndroidRuntime(844): android.util.AndroidRuntimeException: requestFeature() must be called before adding content
04-17 12:19:35.789: E/AndroidRuntime(844): at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:210)
04-17 12:19:35.789: E/AndroidRuntime(844): at com.oceans.sherelock.internal.ActionBarSherlockNative.requestFeature(ActionBarSherlockNative.java:97)
04-17 12:19:35.789: E/AndroidRuntime(844): at com.oceans.sherelock.app.SherlockFragmentActivity.requestWindowFeature(SherlockFragmentActivity.java:276)
04-17 12:19:35.789: E/AndroidRuntime(844): at com.wallpapermaker.keepcalm.UserProfile_NoBoringFragment.onCreateView(UserProfile_NoBoringFragment.java:92)
04-17 12:19:35.789: E/AndroidRuntime(844): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500)
04-17 12:19:35.789: E/AndroidRuntime(844): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:938)
04-17 12:19:35.789: E/AndroidRuntime(844): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1115)
04-17 12:19:35.789: E/AndroidRuntime(844): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
04-17 12:19:35.789: E/AndroidRuntime(844): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1478)
04-17 12:19:35.789: E/AndroidRuntime(844): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:446)
04-17 12:19:35.789: E/AndroidRuntime(844): at android.os.Handler.handleCallback(Handler.java:605)
04-17 12:19:35.789: E/AndroidRuntime(844): at android.os.Handler.dispatchMessage(Handler.java:92)
04-17 12:19:35.789: E/AndroidRuntime(844): at android.os.Looper.loop(Looper.java:137)
04-17 12:19:35.789: E/AndroidRuntime(844): at android.app.ActivityThread.main(ActivityThread.java:4424)
04-17 12:19:35.789: E/AndroidRuntime(844): at java.lang.reflect.Method.invokeNative(Native Method)
04-17 12:19:35.789: E/AndroidRuntime(844): at java.lang.reflect.Method.invoke(Method.java:511)
04-17 12:19:35.789: E/AndroidRuntime(844): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-17 12:19:35.789: E/AndroidRuntime(844): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-17 12:19:35.789: E/AndroidRuntime(844): at dalvik.system.NativeStart.main(Native Method)
P.S.我无法在 Activity 中设置它,因为我不想为我的 Activity 中的其他 Fragment 启用叠加功能。
【问题讨论】:
标签: android actionbarsherlock fragment overlay