setContentView 後點選事件失效

2022-07-10 07:36:09 字數 1315 閱讀 8607

目錄因專案中用到多個介面,使用單個activity進行桌面切換,切換桌面使用方法為

setcontentview(view view)
使用該方法可以記錄之前按鍵等的狀態

viewactivityhome = layoutinflater.from(this).inflate(r.layout.activity_home, null);

viewactivityaccountmanager = layoutinflater.from(this).inflate(r.layout.activity_account_manager, null);

viewactivityactionintroduction = layoutinflater.from(this).inflate(r.layout.activity_action_introduction, null);

viewactivityactionlibrary = layoutinflater.from(this).inflate(r.layout.activity_action_library, null);

viewactivityfitness = layoutinflater.from(this).inflate(r.layout.activity_fitness, null);

viewactivityresult = layoutinflater.from(this).inflate(r.layout.activity_result, null);

viewactivitysportguide = layoutinflater.from(this).inflate(r.layout.activity_sport_guide, null);

viewactivitysporttraining = layoutinflater.from(this).inflate(r.layout.activity_training, null);

setcontentview(viewactivityhome);

在乙個介面中使用了listview、gridview,當再次進入該介面是,點選其item,其onclick事件無法生效,即onitemclicklistener不執行。

後發現原因可能為切換介面後,焦點還在原介面上,點選就無法生效

在當前介面申請焦點,即使用該方法

requestfocus()
實際使用為

setcontentview(viewnowview);

viewnowview.requestfocus();

即可!

setContentView原始碼解讀

override public void setcontentview layoutres int layoutresid return mdelegate public override public void setcontentview int resid ensuresubdecor 方法原...

70後 80後 90後的區別

工作狂基本上都是70後的。80後拒絕加班!90後拒絕上班!2 70後喜歡穿七匹狼或者猛龍牌子的衣服。80後喜歡g star之類的。90後乞丐服,越花越好,越破越好。乙個洞時尚,兩個洞潮流,三個洞個性。3 70後唱k的時候只會 例如2002年的第一場雪,然後就拼命拉著你喝酒,不讓你唱。mic霸一般是8...

70後 80後 90後的離奇區別

1 70後 工作狂基本上都是70後的。80後 而我們,拒絕加班!90後 拒絕上班!2 70後 他們喜歡穿七匹狼或者猛龍牌子的衣服。80後 我們喜歡g star之類的。90後 乞丐服,越花越好,越破越好.乙個洞時尚,兩個洞潮流,三個洞個性.3 70後 他們唱k的時候只會亂吼 例如2002年的第一場雪,...