中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TabHost實現點擊事件

發布時間:2020-10-15 15:07:20 來源:網絡 閱讀:1658 作者:roadley 欄目:開發技術

在一般的情況下,我們只需要在Tab欄中實現兩種狀態的切換,這時候運用selector就可以簡單的實現了。

而如果是三種狀態之間的切換呢,具體效果如圖所示

TabHost實現點擊事件(注:實現的是使用FragmenTabHost)

效果是不選中時顯示最左邊狀態,選中第一次時顯示中間狀態,再一次點擊過后顯示右側狀態。


在找到正確的做法之前,我試過了TabHost的所有監聽器,均以失敗告終。


其后,我們知道每一個tab標簽都是一個布局,所以我在把這個布局添加到tab中時設置點擊事件,這樣做又是否可行呢,答案依舊是否定的,與TabHost的點擊事件一樣,他們都會被我們實現的onTabChangedListener搶占了。


最后才在同學的幫助下找到了一個能實現此效果的方法:

mTabHost.getTabWidget().getChildAt(1).setOnClickListener()

利用mTabHost.getTabWidget().getChildAt(1)方法找到的是tab標簽位置為1的那個布局,設置它的點擊事件,在點擊事件中找到布局之中的圖片,去設置即可。


照理說此時應該完美無瑕了,可是運行出來后,發現這是tab為1的這個位置會有點擊事件(當然了,設置圖片這個是看不出來的,發個Toast還是能出來的),但是點擊它選中的效果沒有了。


這是因為此時這個tab標簽的位置只去響應了我們的點擊事件,而不會響應TabChangeLinstener的事件了。


此時需要在監聽事件的代碼中加入一句話,設置當前選中的tab標簽

mTabHost.setCurrentTab(1);

這樣就真的能做到完美無瑕了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平顺县| 陆良县| 玉树县| 寻乌县| 闸北区| 漾濞| 开远市| 拉萨市| 郓城县| 石楼县| 灵台县| 常山县| 文化| 分宜县| 咸宁市| 板桥市| 岢岚县| 漳浦县| 灌云县| 贵溪市| 浦东新区| 平江县| 襄城县| 巴东县| 明溪县| 徐州市| 原平市| 东丽区| 隆林| 汝城县| 平昌县| 黄冈市| 河北省| 彝良县| 通化市| 西和县| 上虞市| 隆尧县| 武宣县| 秦皇岛市| 衡南县|