gpt4 book ai didi

android - 如何在特定 fragment 上隐藏 FAB

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:22 26 4
gpt4 key购买 nike

好吧,我只想删除/隐藏特定 fragment 上的 FAB,在我的例子中是 HISTORY 选项卡。

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
.... (Overriding methods , I didnt do anything here
});

我对 View Pager 进行充气的方法

private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new HistoryFragment(), "HISTORY");
adapter.addFragment(new TransactionFragment(), "CURRENT");
adapter.addFragment(new FutureFragment(), "FUTURE");

viewPager.setAdapter(adapter);

}

class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();

public ViewPagerAdapter(FragmentManager manager) {
super(manager);

}

@Override
public android.support.v4.app.Fragment getItem(int position) {
return mFragmentList.get(position);
}

@Override
public int getCount() {
return mFragmentList.size();
}

public void addFragment(android.support.v4.app.Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}

@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}

我应该在哪里以及如何更改我的代码以从 HISTORY 选项卡/fragment 中隐藏我的 FAB 并再次显示在其他选项卡上

最佳答案

我认为它就这么简单:

viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
if(position == 0) {
// hide FAB
} else {
// show FAB
}
}
}

您可以做很多清理工作来改进维护,例如为每个页面分配页码,例如:

private static final int PAGE_HISTORY = 0;
private static final int PAGE_TRANSACTION = 1;
private static final int PAGE_FUTURE = 2;

因此,您说的不是 if(position == 0) if(position == PAGE_HISTORY)。这样,如果您更改页面,就不必更改大量代码。

关于android - 如何在特定 fragment 上隐藏 FAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40156179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com