Actionbar.removealltabs删除我的所有标签。但是,用于固定标签的剩余空间仍然存在。因此,我的操作栏看起来像一个非常高的动作栏,下半部空。
使用具有appcompatactivity的支持操作栏。
我尝试在我的片段和Mainactivity中调用Actionbar.removealltabs ...相同的结果。
Tabs Destroyed, leaving behind it's empty space
How it originally looked before adding tabs. This is my desired result
这是创建标签的我的片段。
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mViewPager = view.findViewById(R.id.reddit_search_pager);
mActionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
setViewPager();
setTabs();
}
public void setTabs() {
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.TabListener tabListener = new ActionBar.TabListener() {
@Override
public void onTabSelected(ActionBar.Tab tab, android.support.v4.app.FragmentTransaction ft) {
mViewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(ActionBar.Tab tab, android.support.v4.app.FragmentTransaction ft) {
}
@Override
public void onTabReselected(ActionBar.Tab tab, android.support.v4.app.FragmentTransaction ft) {
}
};
for (int i = 0; i < 3; i++) {
String tabTitle = "";
switch (i) {
case 0:
tabTitle = TAB_TITLE_SUBREDDITS;
break;
case 1:
tabTitle = TAB_TITLE_POSTS;
break;
case 2:
tabTitle = TAB_TITLE_USERS;
break;
}
mActionBar.addTab(
mActionBar.newTab()
.setText(tabTitle)
.setTabListener(tabListener));
}
}
这是我对工具栏的主要MainActivity预先存在的修改。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NetworkingUtils myClass = new NetworkingUtils(this);
ActionBar actionbar = getSupportActionBar();
actionbar.setDisplayHomeAsUpEnabled(true);
actionbar.setHomeAsUpIndicator(R.drawable.ic_action_menu);
当我使用ListViews
时,我通常使用适配器。使用适配器,每次在列表上进行新的更改时都必须调用yourAdapter.notifyDataSetChaged()
,以便列表可以正常更新。也许这就是你正在发生的事情,所以试着调用一些方法,就像我上面展示的那样,它可能会更新并清除空白区域。
我通过另一种方式使用标签来修复它,如本视频中所述的Tablayout。 https://www.youtube.com/watch?v=zQekzaAgIlQ。我不得不制作自己的工具栏而不是默认主题。
我不知道为什么Android会建议在他们的官方网站上实施标签而不是这种方式。事实上,Youtube视频中提供的TabLayout示例均未找到404。