关于intent中传输字符串丢失的解决…

问题:
网络setting和铃声setting用的是同一个settings
因而传入不同的变量就有不同的tab和 content
在传输过程中intent丢失了title,导致两个setting的title都显示 其中一个setting的title。
java代码如下:
 mIntent = getIntent();
        String title = mIntent.getStringExtra("Title");
        setTitle(TextUtils.isEmpty(title) ? getString(R.string.mobile_network_setting) : title);

原理很简单,当接受的title不为空的时候就显示原title。为空就显示 mobile_network_setting。
由于intent中的title在传输过程中丢失,那么不管怎么样都会现实mobile_network_setting,
BUG来了,想办法解决,解决方法很简单,往intent中传入一个title。于是定位到intent启动的那个文件,假设是soundsetting.java。查找链接到上一个文件的activity中的字符,定位到
 else if (mMultiSimRingtonePreference != null && preference == mMultiSimRingtonePreference) {
            Intent intent = mMultiSimRingtonePreference.getIntent();
            intent.putExtra(MultiSimSettingsConstants.TARGET_PACKAGE, MultiSimSettingsConstants.SOUND_PACKAGE);
            intent.putExtra(MultiSimSettingsConstants.TARGET_CLASS, MultiSimSettingsConstants.SOUND_CLASS);
            startActivity(intent);


在startActivity(intent)启动之前加入一个title,写法如下:            intent.putExtra("Title", getString(R.string.ringtone_title));  
编译,解决!

你可能感兴趣的:(关于intent中传输字符串丢失的解决…)