Android源码开发之横屏actionbar的title消失

本文介绍了在Android应用中遇到的一个横屏状态下Actionbar的title消失的bug。通过分析源码,发现在UserDictionaryList.java的onResume方法中设置title无效。原因是InputMethodAndLanguageSettings.java中startFragment方法启动的fragment没有传入正确的title。修复方案是在startFragment时判断目标fragment是否为UserDictionaryList,并传入对应的title资源id。
摘要由CSDN通过智能技术生成

最近遇到一个bug,虽然看起来简单,实则不是那么回事

设置----语言和输入法----个人字典,进去,竖屏的时候actionbar上显示个人字典,但当横屏的时候,title突然消失

定位到Setting/src/com/android/settings/inputmethod/UserDictionaryList.java

在onResum里

        getActivity().getActionBar().setTitle(R.string.user_dict_settings_title); 
        getActivity().setTitle(R.string.user_dict_settings_title);

本以为可以搞定的,却还是作用,再打log,发现,你设置的title没用,读出来还是“”字符

追踪代码,Setting/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java

------

private void updateUserDictionaryPreference(Preference userDictionaryPreference) {

有个startFragment(InputMethodAndLanguageSettings.this,
                                    targetFragment.getCanonicalName(), -1, -1, extras);去启动我们看到的fragment

于是修改为

   if(targetFragment.getCanonicalName().equals

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值