setContentView 后点击事件失效

[TOC]

背景

因项目中用到多个界面,使用单个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();

即可!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容