• Android 4.0中对话框项目文字无法用setText变更问题


    今天在手机适配中发现漫画播放器的菜单中点击“自动播放”后,文字无法发生改变。后来发现,在点击“自动播放”,菜单消失的瞬间,菜单项文字确实发生了变化,只是再次打开菜单时菜单项文字又变回了“手动播放”,表明setText方法确实被调用并且生效了。Android 2.x的手机上运行不会发生该问题。

    初步判断是作为菜单的GridView被重新生成了。但是通过log打印发现情况并非如此。

    最后怀疑GridView所使用的SimpleAdapter中的getView被调用,引起菜单项文字被重新初始化。将SimpleAdapter置换成匿名内部类,在getView方法中打印log。发现菜单重新弹出时GridView虽然没有重新生成,但是SimpleAdapter的getView方法确实被重新调用了,引起菜单项重置。这样的话,就在getView中根据播放器的播放状态修改“自动播放”菜单项的文字就可以了。

    至此,问题解决。

    顺便一提。2.x的系统中菜单重新显示时菜单项没有重新生成。推测可能是4.0系统中在GridView不显示时自动回收了里面的子view,而不是等待GridView被销毁时才回收。

  • 相关阅读:
    团队-爬取豆瓣电影TOP250-成员简介及分工
    结对-贪吃蛇游戏-需求分析
    个人编程作业
    团队项目编程作业
    课后作业-阅读任务-阅读提问-1
    团队-爬虫豆瓣电影TOP250-成员简介及分工
    结对-英文词频检测程序-需求分析
    对软件工程课程的期望
    自我介绍
    作业0
  • 原文地址:https://www.cnblogs.com/airshow/p/2535527.html
Copyright © 2020-2023  润新知