是否可以为不同的片段中的浮动操作按钮设置不同的操作?

Yus*_*aev 3 android android-fragments android-viewpager floating-action-button

我正在工作或应用程序,我在viewpager和浮动操作按钮(fab)中有4个片段.当我点击fab时,会出现3个子底座.他们每个人都开始不同的活动,用户可以从不同的片段中搜索数据.有没有可能设置fab,如果我在第一个片段时点击它,它将打开一个活动,在这个片段内搜索,onClick内部第二个 - 搜索第二个等等.问题是现在点击sub虽然我在一些片段中,但我也能从另一个片段中搜索数据,这有点奇怪.我明白问题有点奇怪,如果有些事情不清楚,我会进一步解释

Djo*_*sic 9

您可以将FAB按钮公开,并在每个片段中实现onClick侦听器.你应该覆盖setUserVisibleHint并将你的代码放在onResume上, 这样getActivity()就不会返回null.Fab按钮将在不同的片段中具有不同的动作.

这是一个例子,当你想要Fab点击监听器时,在每个片段内:

@Override
public void setUserVisibleHint(boolean visible)
{
    super.setUserVisibleHint(visible);
    if (visible && isResumed())
    {            
        onResume();
    }
}

 @Override
public void onResume()
{
    super.onResume();
    if (!getUserVisibleHint())
    {
        return;
    }

    MainActivity mainActivity = (MainActivity)getActivity();
    mainActivity.fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          //Do what you want
        }
    });
}
Run Code Online (Sandbox Code Playgroud)