1

С android.support:design:23.0.0. setOnTabSelectedListener запускается только тогда, когда я нажимаю на вкладку, но не запускается с помощью ViewPager, когда я прокручиваю его.Проблема с поддержкой: дизайн: 23.0.0 и setOnTabSelectedListener с пользовательским представлением вкладки

позвольте мне дать вам пример:

public void setTabs() { 

    tabs = (TabLayout) findViewById(R.id.tabs); 
    tabs.setupWithViewPager(pager); 

    for (int i = 0; i < tabs.getTabCount(); i++) { 
     TabLayout.Tab tab = tabs.getTabAt(i); 
     tab.setCustomView(pagerAdapter.getTabView(i)); 
    } 

    tabs.setOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(pager) { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 

      super.onTabSelected(tab); 
      tabPosition = tab.getPosition(); 

      Toast.makeText(getApplicationContext(), ""+tabPosition,Toast.LENGTH_SHORT).show(); 

      if (tabPosition == 0) { 

      } 
      if (tabPosition == 1) { 

      } 
      if (tabPosition == 2) { 

      } 
      if (tabPosition == 3) { 

      } 
     } 

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

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

метод getTabView из pagerAdapter:

public View getTabView(int position) { 

     View v = LayoutInflater.from(getApplicationContext()).inflate(R.layout.custom_tab, null); 
     // TextView tv = (TextView) v.findViewById(R.id.tabTextView); 
     // tv.setText(tabTitles[position]); 
     ImageView img = (ImageView) v.findViewById(R.id.tabImageView); 
     img.setImageResource(imageResId[position]); 

     return v; 
    } 

Тост не отображается на салфетки, только по щелчку. Он отлично работает со старым 22.2.1 revison. Что вызывает эту проблему? Благодарю.

+1

Необходимо сообщить об этом на адрес code.google.com. –

ответ

2

Вы правы. Я столкнулся с одной и той же проблемой, и иногда вкладки даже не срабатывают при нажатии на вкладки. Я исправил его, используя оба: public void onTabSelected (вкладка TabLayout.Tab) и public void onTabReselected (вкладка TabLayout.Tab). Затем я переключился обратно в библиотеку android.support:design:22.2.1, чтобы она работала чисто.

0

Это исправлено сейчас в новой версии (23.0.1).

 Смежные вопросы

  • Нет связанных вопросов^_^