我ActionBarActivity有NavigationDrawer和使用support_v7 Toolbar的动作条.在我的一个片段工具栏中有自定义视图.在其他片段中Toolbar应显示标题.
如何Toolbar从片段中获取自定义实例?我可以使用ActionBar getActivity().getActionBar(),但是如果我调用setTitle()这个实例ActionBar它什么都不做.
UPD:
就我而言
((ActionBarActivity) getActivity()).getSupportActionBar().setTitle();
(正如MrEngineer13所说)在第一次片段创建时不起作用,因为我从onHiddenChanged()调用它.现在我向onCreateView()添加更多一个,它工作正常.
android android-fragments android-actionbar android-support-library android-toolbar
我有一个Sherlock片段活动,其中有3个片段.
片段A,片段B,片段C是三个片段.我想仅在片段B中显示完成选项菜单.
并且活动以片段A开始.当选择片段B时,添加完成按钮.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
if(!menusInflated){
inflater.inflate(R.menu.security, menu);
menusInflated=true;
}
super.onCreateOptionsMenu(menu, inflater);
}
Run Code Online (Sandbox Code Playgroud)
当我再次启动Fragment AI想要选项菜单DONE(在片段B中设置)为此我就是这样做的
setHasOptionsMenu(false);
MenuItem item = (MenuItem) menu.findItem(R.id.done_item);
item.setVisible(false);
Run Code Online (Sandbox Code Playgroud)
但是这根本就没有隐藏,如果首次使用Fragment A启动Activity,它也会给出NullPointerException.
请告诉我这是什么问题.
我目前正忙着使用新的AppCompat库,为旧设备带来材料设计.
将工具栏设置为操作栏对我来说很好,但工具栏似乎在调用时没有做任何事情inflateMenu(int resId).从文档中,我认为这是替换getMenuInflater().inflate(int resId)来自onCreateOptionsMenu的调用.如果我做后者,菜单项正确膨胀并添加到工具栏,但inflateMenu似乎没有.
我错过了什么?
活动代码:
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.inflateMenu(R.menu.main); // this does nothing at all
setSupportActionBar(toolbar);
}
// this works
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我的Activity中有一个片段,片段有自己的工具栏.像这样:
这是片段的布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.hometsolutions.space.Fragments.ControlFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/Setup_next_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view_setup_next"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintTop_toBottomOf="@+id/setup_next_recycler" />
</LinearLayout>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
我想在Setup_next_toolbar上添加菜单.不在MainActivity工具栏上.
我在片段上做了这个:
在onCreate:setHasOptionsMenu(true);
然后
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.Setup_next_menu, menu);
}
Run Code Online (Sandbox Code Playgroud)
但它在MainActivity tolbar上添加了菜单.如何设置menuItems Setup_next_toolbar?
我是一名 android 新手,试图为我的新 android 应用程序创建一个底部导航栏,类似于 Instagram 中的导航栏。像这样
单击搜索图标会在操作栏中添加一个搜索栏。我正在构建一个应用程序,用于提醒用户他的医疗预约,底部有三个导航选项卡。我已经创造了这个
在这之后我被卡住了。我是否应该使用三个活动来显示相应选项卡或片段的内容,以及如何实现。
我需要一个recyclerview来显示约会。如何仅在单击底部的搜索图标时显示搜索栏。已经搜索了很多实现这一点,但找不到任何有用的东西。
任何对实现相同的代码或库的建议都会有很大帮助,谢谢。
android android-fragments instagram android-recyclerview bottomnavigationview