Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 更改子(嵌套)首选项屏幕标题颜色_Android_Android Actionbar_Sharedpreferences - Fatal编程技术网

Android 更改子(嵌套)首选项屏幕标题颜色

Android 更改子(嵌套)首选项屏幕标题颜色,android,android-actionbar,sharedpreferences,Android,Android Actionbar,Sharedpreferences,我用了这个: public void onCreate(Bundle bundle) { super.onCreate(bundle); addPreferencesFromResource(R.xml.prefs); final PreferenceScreen preferenceScreen = (PreferenceScreen) findPreference("child"); preferenceScreen.setOnPreferenceClickL

我用了这个:

public void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    addPreferencesFromResource(R.xml.prefs);
    final PreferenceScreen preferenceScreen = (PreferenceScreen) findPreference("child");
    preferenceScreen.setOnPreferenceClickListener(new OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            // TODO Auto-generated method stub
            PreferenceScreen a = (PreferenceScreen) preference;
            a.getDialog().getWindow().setTitle("NewTitle");
            a.getDialog().getWindow().setTitleColor(getResources().getColor(R.color.orange));
            preferenceScreen.getDialog().getActionBar().setDisplayShowHomeEnabled(false);
            preferenceScreen.getDialog().getActionBar().setBackgroundDrawable(null);
            return true;
        }
    });
}

它只需将标题更改为NewTitle,并在操作栏标题下隐藏蓝线,而不更改标题颜色。有什么建议吗?

试试这个

  public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
    super.onPreferenceTreeClick(preferenceScreen, preference);

    if (preference != null) {
        if (preference instanceof PreferenceScreen) {
             initializeActionBar((PreferenceScreen) preference);
                    }
        }
    }

    return false;
}
下面是initializeActionBar:

       public static void initializeActionBar(PreferenceScreen preferenceScreen) 
          {

      int titleId;
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
          titleId = getResources().getIdentifier("action_bar_title", "id", "android");
           } else {
                titleId = R.id.action_bar_title;
                  }    
        TextView titleTextView=(TextView) dialog.findViewById(titleId);
        if(titleTextView!=null)
        titleTextView.setTextColor(Color.WHITE);

}