ОБНОВЛЕНИЕ: Отредактировано рабочим кодом!Как использовать getSupportActionBar() для внесения изменений из другого класса
У меня есть класс (ColorChanger
), где я пытаюсь изменить цвет actionbars от других видов деятельности, за исключением getSupportActionBar()
неопределен из моего ColorChanger
класса. Как я могу сделать это правильно?
Рабочий код из ColorChanger
:
public void changeColor(int newColor, Context context, Activity activity) {
this.mActivity = activity;
Drawable colorDrawable = new ColorDrawable(newColor);
Drawable bottomDrawable = context.getResources().getDrawable(
R.drawable.actionbar_bottom);
LayerDrawable ld = new LayerDrawable(new Drawable[] { colorDrawable,
bottomDrawable });
if (oldBackground == null) {
this.mActivity.getSupportActionBar().setBackgroundDrawable(ld);
} else {
TransitionDrawable td = new TransitionDrawable(new Drawable[] {
oldBackground, ld });
this.mActivity.getSupportActionBar().setBackgroundDrawable(td);
td.startTransition(200);
}
oldBackground = ld;
this.mActivity.getSupportActionBar().setDisplayShowTitleEnabled(false);
this.mActivity.getSupportActionBar().setDisplayShowTitleEnabled(true);
currentColor = newColor;
}
Если вам нужно больше кода, просто спросите.
http://actionbarsherlock.com/usage.html - ваш класс не расширяет активность sherlock. В вашем классе такого метода нет. –
Вы используете ActionBarSherlock? – Ahmad
@BrianRoach класс 'ColorChanger' не расширяет ничего, но я хотел знать, как использовать' getSupportActionBar() 'из этого класса, чтобы внести изменения в другой класс, который расширяет активность sherlock (или просто активность с тех пор, m, используя holoeverywhere) @ Амад да, но в другом классе, где я хочу, чтобы произошли изменения – TheWizKid95