【问题标题】:Detecting event on a FragmentTabHost present in Fragment检测 Fragment 中存在的 FragmentTabHost 上的事件
【发布时间】:2014-04-24 20:39:50
【问题描述】:

我有什么

  • 我有一个片段
  • 我正在使用 SherlockActionBar 库
  • 我在 Fragment 中有一个 FragmentTabHost

我想知道的:我想检测每个标签的onClick事件并根据它执行一些操作

Fragment1.java

public class Fragment1 extends SherlockFragment{

    private FragmentTabHost mTabHost;


    //Mandatory Constructor
    public Fragment1() {
    }

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    }

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fragment1,container, false);


        mTabHost = (FragmentTabHost)rootView.findViewById(android.R.id.tabhost);
        mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent);

        mTabHost.addTab(mTabHost.newTabSpec("fragmentb").setIndicator("Rating"),
                RatingAscending.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("fragmentc").setIndicator("Price"),
                PriceAscending.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("fragmentd").setIndicator("Distance"),
                DistanceAscending.class, null);


        return rootView;
    }

}

【问题讨论】:

    标签: android android-fragments fragment-tab-host android-nested-fragment


    【解决方案1】:

    我假设您想要做的是检测何时在 FragmentTabHost 中单击了特定选项卡。这可以通过添加setOnTabChangedListener 非常简单地完成。 这是一个例子:

    FragmentTabHost t = new FragmentTabHost(getActivity());
        t.setOnTabChangedListener(new OnTabChangeListener() {
    
            @Override
            public void onTabChanged(String tabId) {
                // TODO your actions go here
    
            }
        });
    
    }
    

    【讨论】:

    • 是的,我一直在寻找...。您还可以在...上添加更多关于答案的信息,比如说...。我的标签正在显示一个片段(...说 fragmentA ....现在使用您的解决方案我检测到事件......现在如何在同一选项卡中的该事件上加载 fragmentB
    • 我认为你应该提出另一个问题
    • @stewjacks....好的,请看一下这个问题...我制定了一个新问题stackoverflow.com/q/23284232/1083093
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多