public class

TabHostBindingAdapter

extends java.lang.Object

 java.lang.Object

↳androidx.databinding.adapters.TabHostBindingAdapter

Gradle dependencies

compile group: 'androidx.databinding', name: 'adapters', version: '3.2.0-alpha11'

  • groupId: androidx.databinding
  • artifactId: adapters
  • version: 3.2.0-alpha11

Artifact androidx.databinding:adapters:3.2.0-alpha11 it located at Google repository (https://maven.google.com/)

Androidx class mapping:

androidx.databinding.adapters.TabHostBindingAdapter android.databinding.adapters.TabHostBindingAdapter

Summary

Constructors
publicTabHostBindingAdapter()

Methods
public static intgetCurrentTab(TabHost view)

public static java.lang.StringgetCurrentTabTag(TabHost view)

public static voidsetCurrentTab(TabHost view, int tab)

public static voidsetCurrentTabTag(TabHost view, java.lang.String tabTag)

public static voidsetListeners(TabHost view, OnTabChangeListener listener, InverseBindingListener attrChange)

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public TabHostBindingAdapter()

Methods

public static int getCurrentTab(TabHost view)

public static java.lang.String getCurrentTabTag(TabHost view)

public static void setCurrentTab(TabHost view, int tab)

public static void setCurrentTabTag(TabHost view, java.lang.String tabTag)

public static void setListeners(TabHost view, OnTabChangeListener listener, InverseBindingListener attrChange)

Source

/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package androidx.databinding.adapters;

import androidx.databinding.BindingAdapter;
import androidx.databinding.InverseBindingAdapter;
import androidx.databinding.InverseBindingListener;
import androidx.annotation.RestrictTo;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;

/**
 * @hide
 */
@RestrictTo(RestrictTo.Scope.LIBRARY)
@SuppressWarnings("unused")
public class TabHostBindingAdapter {

    @InverseBindingAdapter(attribute = "android:currentTab")
    public static int getCurrentTab(TabHost view) {
        return view.getCurrentTab();
    }

    @InverseBindingAdapter(attribute = "android:currentTab")
    public static String getCurrentTabTag(TabHost view) {
        return view.getCurrentTabTag();
    }

    @BindingAdapter("android:currentTab")
    public static void setCurrentTab(TabHost view, int tab) {
        if (view.getCurrentTab() != tab) {
            view.setCurrentTab(tab);
        }
    }

    @BindingAdapter("android:currentTab")
    @SuppressWarnings("ReferenceEquality")
    public static void setCurrentTabTag(TabHost view, String tabTag) {
        //noinspection StringEquality
        if (view.getCurrentTabTag() != tabTag) {
            view.setCurrentTabByTag(tabTag);
        }
    }

    @BindingAdapter(value = {"android:onTabChanged", "android:currentTabAttrChanged"},
            requireAll = false)
    public static void setListeners(TabHost view, final OnTabChangeListener listener,
            final InverseBindingListener attrChange) {
        if (attrChange == null) {
            view.setOnTabChangedListener(listener);
        } else {
            view.setOnTabChangedListener(new OnTabChangeListener() {
                @Override
                public void onTabChanged(String tabId) {
                    if (listener != null) {
                        listener.onTabChanged(tabId);
                    }
                    attrChange.onChange();
                }
            });
        }
    }
}