本文介绍了是否有可能为浮动操作按钮differet片段设置不同的行动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的工作或一个应用程序在那里我有viewpager 4个片段和浮动操作按钮(FAB)。当我点击晶圆厂似乎有3 subfabs。他们每个人都开始不同的活动,在这里用户可以从不同片段的搜索数据。是否有可能设置晶圆厂所以,如果我点击它,而我在第一个片段是它会打开活动为这个片段里面搜索,里面的onClick第二 - 寻找第二等的问题,现在点击子晶圆厂,而我在一些片段是我可以从另一个片段搜索数据量太大,这是一个有点怪。我理解的问题是有点儿奇怪,如果事情不清楚,我会进一步说明

I am working or an app where I have 4 fragments in viewpager and floating action button (fab). When I click on fab there appear 3 subfabs. Each of them start different activities where user can search data from different fragments. Is it possible to set fab so that if I click on it while I'm in first fragment it'll open an activity for searching inside this fragment, onClick inside second - search for second and etc. The issue is that now clicking on sub fab while I'm in some fragment I can search data from another fragment too and it's a bit weird. I understand question is kinda strange, if something is unclear I'll explain further

推荐答案

您可以FAB按钮公众和在每个片段中实现的onClick监听器。
你应该重写 setUserVisibleHint ,把你的code onResume 让getActivity()将不会返回null。 FAB按钮将在不同的片段不同的操作。

You can make FAB button public and implement onClick listener in each fragment.You should override setUserVisibleHint and put your code onResume so getActivity() will not return null. Fab button will have different actions in different fragments.

下面是一个例子,当你想要的Fab点击监听每个片段内:

Here's an example, inside each fragment when you want Fab click listener:

@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
        }
    });
}

这篇关于是否有可能为浮动操作按钮differet片段设置不同的行动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-09 23:44