2012-04-13 2 views
23

Ich habe eine Aktivität erstellt und in Manifest-Datei deklariert. Aber ich möchte die gleiche Aktivität für andere Zwecke wiederverwenden.So ändern Sie Android-Aktivität-Label

<activity 
      android:configChanges="orientation|keyboardHidden" 
      android:label="Main Menu" 
      android:name=".MainMenu" 
      android:theme="@android:style/Theme.Light" > 
     </activity> 

Ich muss das Label dynamisch ändern. Vielen Dank im Voraus

+0

hoffe, das hilft http://stackoverflow.com/questions/3438276/change-title-bar-text-in-android – ngesh

+0

Hallo agarwal Ich denke, Sie nicht wissen, die Antwort – noname

Antwort

54

Verwenden

setTitle (int titlelD)

oder

setTitle (CharSequence Titel)

10

Sie benötigen setTitle für diesen Einsatz:

setTitle(R.string.your_title); 
//or 
setTitle("new title"); 
+1

Dank . das funktioniert super – noname

+1

SetTitleColor kann auch in der onCreate() Methode verwendet werden, um Ihren Titel zu einer bestimmten Farbe zu machen. setTitleColor (getResources(). getColor (R.color.mycolor)); – Tastybrownies

1
if(Condition) 
{ 
    setTitle("Your Title"); 
} 
else 
{ 
    // your Default Title from Manifest 
} 

Versuchen Sie, diese Linie zu verwenden.

19
public class YourActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     setTitle(R.string.your_title); 
     setContentView(R.layout.main); 
    } 
} 
+0

Ist es vor 'setContentView() 'wichtig? Ich habe bemerkt, dass es eine andere Frage gibt, genau wie diese, bei der 'setTitle()' nicht für ihn funktionierte, aber er benutzte sie danach. –

+0

Ich hatte kein solches Szenario, aber es könnte eine vernachlässigbare Menge an Arbeit sein, um das Szenario auszuprobieren.Wenn es tatsächlich der Fall ist, und wenn diese Person den Titel erst nach dem 'setContentView()' setzen muss, kann er zuerst eine Dummy-Zeichenfolge für den Titel setzen und dann mit der Änderung im Programmablauf fortfahren. – SamSPICA

+1

@JacobZimmerman Es ist und diese Antwort löste mein Problem. Mit dieser Reihenfolge liest TalkBack den richtigen Titel für den Benutzer! – Pedram

3

Sie können die definieren Zeichenfolge in res/string.xml Datei und dann android hinzufügen: label zum AndroidMenifest.xml

string.xml code 
<string name="string_name">text to display</string> 

AndroidMenifest.xml code 

<activity android:name=".SomeActivity" 
      android:label="@string/string_name"/> 
0

Statisch, nicht Dynamische

Gehen Sie zu Ihrer AndroidManifest.xml Datei und fügen Sie die Android File : label-Attribut auf die Aktivitäts-Tag Sie, wie diese wollen:

<activity android:name=".name" android:label="label"/> 
2

ich das gleiche Problem haben, versuchen Sie dies in onCreate es ist Arbeit für mich!

public class YourActivityName extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    setTitle("Your Title"); 
    } 
} 
0

In Ihrem Manifest-Datei

Ursprünglich war der Code wie folgt.

<category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".NumbersActivity" /> 
    <activity android:name=".FamilyMembersActivity" /> 
    <activity android:name=".ColorsActivity" /> 
    <activity android:name=".PhrasesActivity" /> 
    </activity> 
</application> 

Aber nach Änderungen Etiketten hinzufügen.

<activity android:name=".NumbersActivity" android:label="Numbers" /> 
    <activity android:name=".FamilyMembersActivity" android:label="Family Members" /> 
    <activity android:name=".ColorsActivity" android:label="Colors" /> 
    <activity android:name=".PhrasesActivity" android:label="Phrases" > 
    </activity> 
</application> 

ist die optimale Möglichkeit, den Namen des Etiketts zu ändern.

mit freundlicher Genehmigung. (Ryanwaite28)