如何检测在已选定的标签按钮点击按钮、标签

2023-09-06 02:47:03 作者:旅馆与浪人 〓

我想点击的当前选择的选项卡时,为了获得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);
    }
});
 

button标签如何实现点击按钮在当前页面打开新的网页

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