Android 无法在定向后编辑操作栏标题

Android 无法在定向后编辑操作栏标题,android,orientation,android-actionbar-compat,onconfigurationchanged,Android,Orientation,Android Actionbar Compat,Onconfigurationchanged,我需要开发一个应用程序,它可以改变动作栏标题的风格动态 在中,尝试通过以下方式访问操作栏标题来实现此目的: (TextView) findViewById( Resources.getSystem().getIdentifier( "action_bar_title", "id"

我需要开发一个应用程序,它可以改变动作栏标题的风格动态

在中,尝试通过以下方式访问操作栏标题来实现此目的:

(TextView) findViewById( 
            Resources.getSystem().getIdentifier(
                                                "action_bar_title", 
                                                "id", 
                                                "android" 
                                                ) 
                        );
然后我像普通文本视图一样编辑样式

在移动电话改变方向之前,这似乎可以正常工作


然而,在方向改变之后,我仍然可以通过上述代码获得TextView(即不返回null),但是对TextView的更改不再反映出来

有人知道为什么吗

==============================================================

感谢您的快速回复,我用于修改TextView的代码:

@Override
public void onConfigurationChanged( Configuration newConfig )
{
    super.onConfigurationChanged( newConfig );

    int titleId = Resources.getSystem().getIdentifier( "action_bar_title", "id", "android" );
    TextView title = (TextView) activity.findViewById( titleId );
    title.setTextColor( Color.parseColor("#ff0000") );
    title.setBackgroundColor( Color.parseColor("#00ff00") );
    title.setText( ""+ new Random().nextInt(9999) );
}    

方向更改后,将触发方法OnConfiguration changed。 但是,操作栏标题文本视图不再反映

我还可以使用titleView.getText().toString()来获取前面指定的正确文本

但是,操作栏标题没有任何可见的更改。
我觉得我提取的文本视图不是操作栏标题。

在方向更改后,应用程序资源刷新,指针将无法指向新标题文本视图

因此,对textview进行黑客攻击以改变其样式和内容不是一个好方法。使用android.text.SpannableString可以实现相同的效果,但在定向后保持样式

SpannableString titleSpan = new SpannableString(getString(R.string.app_name));
titleSpan.setSpan(new TypefaceSpan(this, titleTypeface), 0, titleSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
getSupportActionBar().setTitle(titleSpan);

参考资料:

还应考虑添加用于修改TextView的代码。。。