how to disable a tab in android screen?
Asked Answered
E

2

25

hi can you tell me how to disable a tab in the UI of android code.. (eclair code)

Eldredge answered 21/12, 2010 at 7:47 Comment(1)
did you check the android documentation ? developer.android.com/reference/android/widget/…Indomitability
H
47

If you mean to disable one tab button on TabWidget, then try this code:

// tabHost = ... (get TabHost)
tabHost.getTabWidget().getChildTabViewAt(your_index).setEnabled(false);

If you want to disable tab widget in overall, then:

// tabWidget = ... (get TabWidget)    
tabWidget.setEnabled(false);

Read SDK Help for references:

Havard answered 21/12, 2010 at 7:55 Comment(4)
setEnabled(false) doesn't seem to prevent the tab from being clicked on and selected. It does though trigger the disabled style on it.Humbert
why I have to use tabHost.getTabWidget().getChildTabViewAt(index).setClickable(false) ?Markland
@Markland Who talks about setClickable()? Can you explain your question? I don't understand it. Why you have to use setClickable(), or tabHost.getTabWidget().getChildTabViewAt(index), or anything else?Havard
@Sergey Glotov I want to disable the tab button. But I tried the method you talked. It doesn't not work for me. Then I replace setEnable to setClickable. Then it works.Markland
H
1

Extend TabHost and override methods:

@Override
public void setCurrentTab(int currentTab) {
    if (currentTab != 2)  // position of the tab that should not get selected
        super.setCurrentTab(currentTab);
    else
        // in my case I want to trigger something here but I don't want the button to get selected
}

@Override
public void setCurrentTabByTag(String tag) {
    if (!"\"plus_tab\"".equals(tag))  // tag of the tab that should not get selected
        super.setCurrentTabByTag(tag);
    else
        // in my case I want to trigger something here but I don't want the button to get selected
}
Hyozo answered 8/12, 2014 at 19:4 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.