Проверьте нажатие на TabItem без ViewPager - PullRequest
0 голосов
/ 10 октября 2019

Мне нужно выполнить некоторые действия после нажатия на каждый TabItem.

У меня есть TabLayout и пять TabItem внутри:

<com.google.android.material.tabs.TabLayout
        android:id="@+id/tabs"
        style="@style/AppTabLayout"
        app:tabTextAppearance="@style/AppTabTextAppearance"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tab 1" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tab 2" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tab 3" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tab 4" />

        <com.google.android.material.tabs.TabItem
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tab 5" />
    </com.google.android.material.tabs.TabLayout>

Я нашел, как проверить нажатие на TabItem, но мое приложениепосле этого происходит сбой:

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
  @Override
  public void onTabSelected(TabLayout.Tab tab) {
    Log.d("TAG", String.valueOf(tab.getPosition()));
  }

  @Override
  public void onTabUnselected(TabLayout.Tab tab) {

  }

  @Override
  public void onTabReselected(TabLayout.Tab tab) {

  }
});

Как я могу проверить нажатие на код этих вкладок без использования ViewPager?

...