setContentView 后點擊事件失效

[TOC]

背景

因項目中用到多個界面,使用單個Activity進行桌面切換,切換桌面使用方法為

setContentView(View view)

使用該方法可以記錄之前按鍵等的狀態(tài)

        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不執(zhí)行。

原因

后發(fā)現原因可能為切換界面后,焦點還在原界面上,點擊就無法生效

解決

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

 requestFocus()

實際使用為

        setContentView(viewNowView);
        viewNowView.requestFocus();

即可!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容