如何检测在已选定的标签按钮点击 [英] how to detecting a click on an already selected tab button

查看:131
本文介绍了如何检测在已选定的标签按钮点击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想点击的当前选择的选项卡时,为了获得Click事件我        TabActivity。

我试过低于code,但是当我点击一个选项卡上的其他选项卡不能正常工作/点击正常。

  setupTab(新的TextView(本),地图);
    setupTab(新的TextView(本),攻击);
    setupTab(新的TextView(本),个人资料);
    setupTab(新的TextView(本),Headquater);

    INT numberOfTabs = tabHost.getTabWidget()getChildCount()。
    对于(INT T = 0; T< numberOfTabs;吨++){
    getTabWidget()。getChildAt(吨).setOnClickListener(新OnClickListener(){

            @覆盖
            公共无效的onClick(视图v){

                如果(tabHost.getCurrentTab()== 0){
                    Toast.makeText(TabContext,关于clickkkkk+即时通讯的,1500).show();
                    getTabHost()setCurrentTab(0)。
                }
                如果(tabHost.getCurrentTab()== 1){
                    Toast.makeText .show()(TabContext,+上clickkkkk .... $#@ $#$,1500即时通讯的);
                    getTabHost()setCurrentTab(1)。
                }

            }
        });
    }
 

解决方案

我需要第二次检测只点击一个标签,所以这个回答为我工作。诀窍是设定的OnClick为孩子而不是为TabHost本身。

  getTabWidget()。getChildAt(0).setOnClickListener(新View.OnClickListener(){
    @覆盖
    公共无效的onClick(视图v){
        Log.i(TAG,已点击选项卡:+ getTabHost()getCurrentTabTag());
        tabHost.setCurrentTab(0);
    }
});
 

I am trying to get the Click event when clicking on currently selected tab of my TabActivity.

I tried below code but when i click on one tab the other tabs are not working/clicking properly.

    setupTab(new TextView(this), "Map");
    setupTab(new TextView(this), "Attacks");
    setupTab(new TextView(this), "Profile");
    setupTab(new TextView(this), "Headquater");

    int numberOfTabs = tabHost.getTabWidget().getChildCount();
    for(int t=0; t<numberOfTabs; t++){
    getTabWidget().getChildAt(t).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                if(tabHost.getCurrentTab() == 0){
                    Toast.makeText(TabContext, ""+"i m in on clickkkkk" ,1500).show();
                    getTabHost().setCurrentTab(0);
                }
                if(tabHost.getCurrentTab() == 1){
                    Toast.makeText(TabContext, ""+"i m in on clickkkkk....$#@$#$" ,1500).show();
                    getTabHost().setCurrentTab(1);
                }

            }
        });
    }

解决方案

I needed to detect second click only for one tab, so this answer worked for me. The trick is setting the OnClick for the child and not for the TabHost itself.

getTabWidget().getChildAt(0).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Log.i("TAG", "Clicked tab : "+getTabHost().getCurrentTabTag());
        tabHost.setCurrentTab(0);                                    
    }
});

这篇关于如何检测在已选定的标签按钮点击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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