2016-06-29 24 views
1

ich für diese Toolbar Farbe programmatisch ändern wollte ich verwende diesen Code:Toolbar Farbe nicht gleich bleibt

((AppCompatActivity) getActivity()).getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.test))); 

Ich habe zwei Fragmente, A und B, Nehmen wir nun an, wenn der Schalter auf A, Farbe ändert sich zu blau, jetzt, wenn zu B wechseln, wechselt die Farbe zu test, jetzt wieder, wenn zu A und dann zu B wechseln, Farbe bleibt blau!

Für Farbänderungen in beiden Fragmenten verwende ich den obigen Code. Oben Code-Trigger auf onCreateView, das ist das Problem, denke ich.

Wie kann ich einen Listener dafür machen, wenn das Fragment jedes Mal auf dem Bildschirm erscheint und Farbänderungen?

+0

try ändern Symbolleiste Farbe in 'onResume()' –

+0

Funktioniert nicht .. –

Antwort

0

Verwenden

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.test))); 

und

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.blue))); 

in der Aktivität nicht in Fragmente

+0

Aber ich will Farbe nach Fragment wechseln! –

+0

Oh, ich dachte du benutzt Tabs. Aber Sie können den obigen Code immer noch verwenden, wenn Sie die Fragmente ändern – myatmins