我总是看到一个划掉的行setOnTabSelectedListener用于以下代码
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
}
Run Code Online (Sandbox Code Playgroud)
并且显示的错误是:
不推荐使用setOnTabSelectedListener
但是,该程序似乎工作得很好.我可以知道发生了什么事吗?
Tim*_*Tim 190
我可以知道最新情况吗?
弃用意味着他们认为这不是一个好方法,或者他们已经找到了更好的方法,这个弃用的方法将来会被删除.
修复方法是使用addOnTabSelectedListener而不是setOnTabSelectedListener.
它的工作方式几乎相同.
区别在于addOnTabSelectedListener
:
setOnTabSelectedListener
你只能有一个.一般经验法则:永远不要使用弃用的方法.
Cho*_*hol 19
由于setOnTabSelectedListener
现在已经过时,你可以使用新的方法
addOnTabSelectedListener(OnTabSelectedListener)
Run Code Online (Sandbox Code Playgroud)
此更改允许将多个选项卡选择侦听器添加到单个选项卡TabLayout
.
小智 8
在 kotlin 中使用如下代码;
tabLayoutView.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabReselected(p0: TabLayout.Tab?) {
}
override fun onTabUnselected(p0: TabLayout.Tab?) {
}
override fun onTabSelected(p0: TabLayout.Tab?) {
viewPager.currentItem = tabLayoutView.selectedTabPosition
}
})
Run Code Online (Sandbox Code Playgroud)
改用以下代码:
tablayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager));
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tablayout));
Run Code Online (Sandbox Code Playgroud)
如果你想在点击标签或滑动浏览器时同步它们,上面的代码是同步的关键。
归档时间: |
|
查看次数: |
39633 次 |
最近记录: |