【问题标题】:How to hide item from the MainActivity toolbar in a fragment如何从片段中的 MainActivity 工具栏中隐藏项目
【发布时间】:2017-12-25 13:24:13
【问题描述】:

在我的应用程序中,我在 MainActivity 中有 Toolbar,在 MainActivity 中我有一个 ViewPager 来显示 4 个片段。

toolbar 包含一些图像 (button)。

我想在其中一个片段中隐藏toolbar 的图像。 我写了下面的代码,但它隐藏了所有fragments中的图像。

我的代码:

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser) {
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                troy.setVisibility(View.GONE);
            }
        }, 50);
    }
}

我只想将它隐藏在我当前的fragment 中,而不是全部隐藏。

我该怎么做?

【问题讨论】:

    标签: java android android-fragments fragment


    【解决方案1】:

    您可以使用addOnPageChangeListener()ViewPager

    viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){
    
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {       
    
        }
    
        @Override
        public void onPageSelected(int position) {
             if (position == 0) { // Condition may vary according to your needs...
                 troy.setVisibility(View.GONE);
             } else {
                 troy.setVisibility(View.VISIBLE);
             }
        }
    
        @Override
        public void onPageScrollStateChanged(int state) {
        }
    });
    

    【讨论】:

    • 编辑了答案。您可以使用ViewPager 的功能。
    • 我在下面写代码。但在所有片段中向我展示这个视图
    • public boolean onTabSelected(int position, boolean wasSelected) { switch (position) { case 0: mainViewPager.setCurrentItem(0); troy.setVisibility(View.GONE); break; case 1: mainViewPager.setCurrentItem(1); break; case 2: mainViewPager.setCurrentItem(2); troy.setVisibility(View.GONE); break; } return true;
    • 你能帮帮我吗?请
    • 您不再将其设置为VISIBLE。您必须将troy.setVisibility(View.VISIBLE) 写入除0 之外的所有其他情况,如果仅当所选位置为0 时才想隐藏它。而且没有必要在任何地方写mainViewPager.setCurrentItem(position);
    猜你喜欢
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 2022-06-28
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    相关资源
    最近更新 更多