我已经开始使用片段了。我试图在片段中隐藏titleBar
,但我有这个Log-cat错误
android fragment requestfeature must be called before adding content
这是一个来源
public class SendItemsFragment extends Fragment {
Button b1;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
getActivity().requestWindowFeature(Window.FEATURE_NO_TITLE);
View rootView = inflater.inflate(R.layout.send_items, container, false);
return rootView;
}
}
答案 0 :(得分:1)
只需将代码更改为
即可requestWindowFeature(Window.FEATURE_NO_TITLE);
在onCreate
函数中代替,
getActivity().requestWindowFeature(Window.FEATURE_NO_TITLE);
public class SendItemsFragment extends Fragment {
private Activity activity;
public SendItemsFragment (Activity act) {
this.activity = act;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
activity.requestWindowFeature(Window.FEATURE_NO_TITLE);
View rootView = inflater.inflate(R.layout.send_items, container, false);
return rootView;
}
}
答案 1 :(得分:1)
在Activity中设置contentView后,您无法调用此方法(LogCat已回答您的问题)。你无能为力。您必须将Fragment更改为Activity,或以不同的方式设计应用程序。最终你只能隐藏Actionbar中的标题
getActivity().getActionBar().hide()
答案 2 :(得分:1)
这对我有用:
隐藏动作栏
((AppCompatActivity) getActivity()).getSupportActionBar().hide();
答案 3 :(得分:0)
我有同样的问题。这篇文章中的其他答案
requestWindowFeature(Window.FEATURE_NO_TITLE); 在加载片段之前的Activity中没有用。有用的是: 在AndroidManifest.xml应用程序标签中,我有这个:
机器人:主题= “@风格/ Theme.AppCompat.DayNight”
并且通过包含NoActionBar后缀来解决问题:
android:theme =“@ style / Theme.AppCompat.DayNight。 NoActionBar ”
答案 4 :(得分:0)
在清单文件中,在活动中声明更改标签为空是我的解决方法。
答案 5 :(得分:0)
有一个更好的解决方法:
..then path = path:gsub(...)
在设置内容之前一定要改好:
(activity as MainActivity).supportActionBar?.title = ""