Fer*_*iva 3 android android-fragments
我正在尝试隐藏片段中的动作栏.要做到这一点我正在尝试使用getActivity().getActionBar().hide();,但确实会抛出异常NullPointerException.我确实尝试过使用getSupportActionBar()但Eclipse不显示自动完成功能,只显示它getActionBar();
我该怎么做 ?
分段
public class MyFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().getActionBar().hide(); //nullpointerexception in this line
}
}
Run Code Online (Sandbox Code Playgroud)
例外:
12-05 12:19:02.415: E/AndroidRuntime(16400): FATAL EXCEPTION: main
12-05 12:19:02.415: E/AndroidRuntime(16400): java.lang.NullPointerException
12-05 12:19:02.415: E/AndroidRuntime(16400): at br.com.mypackage.myapp.frags.BatalhaSemOponenteFrag.onCreate(BatalhaSemOponenteFrag.java:71)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.Fragment.performCreate(Fragment.java:1763)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:913)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:454)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.os.Handler.handleCallback(Handler.java:730)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.os.Handler.dispatchMessage(Handler.java:92)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.os.Looper.loop(Looper.java:176)
12-05 12:19:02.415: E/AndroidRuntime(16400): at android.app.ActivityThread.main(ActivityThread.java:5419)
12-05 12:19:02.415: E/AndroidRuntime(16400): at java.lang.reflect.Method.invokeNative(Native Method)
12-05 12:19:02.415: E/AndroidRuntime(16400): at java.lang.reflect.Method.invoke(Method.java:525)
12-05 12:19:02.415: E/AndroidRuntime(16400): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
12-05 12:19:02.415: E/AndroidRuntime(16400): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
12-05 12:19:02.415: E/AndroidRuntime(16400): at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
小智 6
由于您使用的是v4支持片段,我假设您将使用appcompat进行活动.
您必须将从getActivity()获得的活动转换为实际活动,以便将活动识别为appcompat.
试试这个:
public class MyFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((YourActivity)getActivity()).getSupportActionBar().hide();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1207 次 |
| 最近记录: |