2012-04-13 6 views
23

Ho creato un'attività e dichiarato nel file Manifest. Ma vorrei riutilizzare la stessa attività per altri scopi.Come modificare l'etichetta dell'attività Android

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

Ho bisogno di cambiare l'etichetta dinamicamente. Grazie in anticipo

+0

Spero che questo aiuti http://stackoverflow.com/questions/3438276/change-title-bar-text-in-android – ngesh

+0

Hi agarwal Penso che non conoscete la risposta – noname

risposta

54

Usa

setTitle (int titleID)

o

setTitle (CharSequence titolo)

10

È necessario utilizzare setTitle per questo:

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

Grazie . questo funziona perfettamente – noname

+1

SetTitleColor può anche essere utilizzato nel metodo onCreate() per rendere il titolo un colore particolare. setTitleColor (. getResources() getColor (R.color.mycolor)); – Tastybrownies

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

tenta di utilizzare questa linea.

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

Lo sta mettendo prima che 'setContentView()' sia importante? Ho notato che c'è un'altra domanda come quella in cui l'uso di 'setTitle()' non funzionava per lui, ma l'ha usato dopo. –

+0

Non ho affrontato un tale scenario, ma potrebbe essere una quantità trascurabile di lavoro per provare entrambi gli scenari.Se è davvero così, e se quella persona ha bisogno di impostare il titolo solo dopo il 'setContentView()', potrebbe prima impostare una stringa fittizia sul titolo, e quindi procedere con la modifica nel flusso del programma. – SamSPICA

+1

@JacobZimmerman È e questa risposta ha risolto il mio problema. Eseguendolo in questo ordine, TalkBack leggerà il titolo corretto all'utente! – Pedram

3

È possibile definire il stringa nel res file/string.xml e quindi aggiungere Android: etichetta per il file di 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

statico, non dinamico

Vai al file AndroidManifest.xml e aggiungere l'androide : attributo label al tag attività che si desidera, in questo modo:

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

ho lo stesso problema, provate questo in onCreate è un lavoro per me!

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

Nel file manifesto

Inizialmente, il codice è stato come questo.

<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> 

Ma dopo le modifiche aggiungere Etichette.

<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> 

è il modo ottimale per modificare il nome dell'etichetta.

cortesia. (Ryanwaite28)

Problemi correlati