ViewPager 丟失監聽事件的原因之一

2021-08-03 15:26:23 字數 509 閱讀 1024

前幾天寫的指示器內對viewpager進行了監聽,但是當當前viewpager不可見 又變成 可見後,會丟失一次監聽事件。也就是說 只能監聽到 滑動,但是監聽不到沉降和停止。

這主要是 viewpager原始碼內的乙個變數問題。使用 requestlayout 可以重置布局,這樣變數就會變為true,就可以繼續監聽事件了。具體原因及解決辦法如下**:

效果:當viewpager 從不可見到可見後,會接收不到 閒置和沉降

解決辦法:

viewpager.addonattachstatechangelistener(new view.onattachstatechangelistener() 

@override

public void onviewdetachedfromwindow(view v)

});

監聽事件OnPageChangeListener

設定監聽事件setonpagechangelistener,這是乙個方法,引數是監聽事件類的物件 監聽事件類onpagechangelistener,這是乙個類,一般用於繼承重寫 監聽事件類中的方法 onpagescrollstatechanged onpagescrolled onpagesele...

Spring 監聽事件

contextclosedevent 上下文關閉的時候發布的事件 contextrefreshedevent 上下文初始化或者重新整理的時候發布的事件 requesthandledevent 上下文中,當乙個請求被處理後發布的事件 b 自定義事件及事件的監聽 b 2 發布事件 context.pub...

鍵盤監聽事件

思路 利用鍵盤監聽事件獲取按下的鍵 利用這個特性按指定鍵去執行乙個貼上板的函式 執行press和release函式按下enter和釋放完成傳送 import pynput as p from pynput import keyboard all key 傳送 鍵盤控制類名.type 按下 鍵盤控制類...