prevent TabHost Tab切换? [英] Prevent TabHost Tab Change?

查看:150
本文介绍了prevent TabHost Tab切换?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法与股票的Andr​​oid TabHost至prevent的发生?一个标签的变化

Is there any way with the stock Android TabHost to prevent a tab change from taking place ???

在iOS上,有一个名为shouldSelectViewController上tabBarController,这如果返回FALSE prevents从正在发生的改变标签的委托回调。

In iOS, there is a delegate callback called shouldSelectViewController on the tabBarController, which if you return FALSE prevents the tab change from taking place.

Android拥有onTabChanged()的委托,但是这似乎是一个后 - 事实上通知的标签改变已经发生(它返回void)。

Android has an onTabChanged() delegate, but that appears to be an after-the-fact notification that the tab change has taken place (it returns void).

感谢。

推荐答案

如果你不希望使用onTabChanged()对于这一点,你可以设置OnClickListener / OnTouchListener每个选项卡并执行它。例如:

If you don't want to use onTabChanged() for that, you can set OnClickListener/OnTouchListener for each tab and do it there. Example:

    for(int i=0;i<tabWidget.getTabCount();i++)
    {
        tabWidget.getChildAt(i).setOnTouchListener(new OnTouchListener(){

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                int action = event.getAction();

                if(action == MotionEvent.ACTION_UP)
                {                       
                    String currentTabTag = (String)tabHost.getCurrentTabTag();
                    String clickedTabTag = (String)v.getTag();

                    if(clickedTabTag.equals("BAD TAG")
                    {
                        return true; // Prevents from clicking
                    }
                }
                return false;
            }               
        });
    }

这篇关于prevent TabHost Tab切换?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆