我使用PagerSlidingTabStrip
我正在实现一个应用程序,当用户选择一个选项卡时,我会向服务器发送一个与该选项卡相对应的请求。当用户选择其他选项卡时,我希望取消这些请求。例如,我的意思是用户选择tab1,现在我请求服务器名为req1,当用户选择选项卡2时,我想取消req1并将req2发送到服务器。在操作栏的选项卡实现中,有一个回调方法调用onTabUnselected,我想实现它并将它集成到那个库中,但是我找不到必须调用该方法的位置。有谁可以帮我?
发布于 2014-08-25 19:55:51
PagerSlidingTabStrip与与ActionBar afaik相关的Tabs无关,因此在PagerSlidingTabStrip中取消选择选项卡时不会调用onTabUnselected。另外,与Tabs相关的ActionBar在Android中也不受欢迎。
我建议您创建一个新变量来跟踪上一个选定的选项卡(在选项卡上使用OnClickListener时)(参见PagerSlidingTabStrip类中的第251行)。
一些(未经测试)代码的示例:
int lastClickedTabPosition;
// This method should be called from the OnClickListener of the tabs.
private void saveClickedPositionAndCancelLastRequest(int clickedPosition) {
// Cancel your last request here by using the lastClickedTabPosition to get the last clicked position if you have more requests sent to the server.
// Afterwards set lastClickedTabPosition with the new clicked position:
this.lastClickedTabPosition = clickedPosition;
}这个变量可以保存最后一个已知的单击选项卡位置。每当您单击一个新选项卡时,只需得到最后单击的选项卡的位置,然后取消最后一个请求发送。
顺便提一句:谷歌已经创建了自己的PagerSlidingTabStrip实现SlidingTabLayout,并在这里开放了它:https://developer.android.com/samples/SlidingTabsBasic/src/com.example.android.common/view/SlidingTabLayout.html,这可能更容易使用,特别是在未来获得帮助:)
希望这能有所帮助。
https://stackoverflow.com/questions/25489470
复制相似问题