2017-03-01 4 views
-6

Ich möchte Startup hinzufügen Aktivität für Benutzer, um App-Sprache zu wählen, wie diese Aktivität nur beim Start angezeigt werden soll und wenn der Benutzer die Sprache gewählt hat, muss die Aktivität für immer weg sein?Sprachauswahl beim Start

+0

Verwenden Sie 'SharedPreference'. – Piyush

+1

Starten Sie einfach diese "Aktivität" und wenn der Benutzer eine gewünschte Sprache auswählt, verwenden Sie 'Intent', um eine neue' Activity' und 'finish()' zu starten, um sie zu schließen. –

+0

Sie müssen Sprachcode speichern oder einen Namen wie SharedPrecence oder SQLite angeben, sodass Sie jedes Mal, wenn Ihre App geöffnet wird, zuerst prüfen, ob der Sprachstatus festgelegt ist oder nicht. –

Antwort

3

Wenn ich Sie richtig verstehe, möchten Sie diese Aktivität nur anzeigen, wenn der Benutzer die App zum ersten Mal ausführt.

Nun, hier ist was Sie tun können:

1) zu einem SharedPreference einen Griff holen. Dies wird gespeichert, wenn der Benutzer die Sprache bereits ausgewählt hat oder nicht.

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 

2) Erstellen eines SharedPreferences.Editor

SharedPreferences.Editor editor = sharedPref.edit(); 

3) speichern die Informationen in einem Schlüssel-Wert-

editor.putBoolean("HAS_SELECTED_LANGUAGE", true); 

4) Commit die Änderung

editor.commit(); 

5) Überprüfen Sie, ob 'HAS_SELECTED_LANGUAGE' ist in der onCreate() der Aktivität wahr, wenn ja auf das nächste Aktivität/Fragment bewegt auf/etc

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ... 
    ... 
    if (sharedPref.getBoolean("HAS_SELECTED_LANGUAGE", false)) { 
     //Replace with your action to perform if it is already selected 
    } 
    ... 
} 

Auch die Sprache aus, es wäre empfehlenswert, damit der Benutzer der Lage sein, wieder zu kommen und ändern woanders wenn und wenn sie es benötigen.

Hoffen Sie, dass dies Ihr Problem löst.

+0

Vielen Dank funktioniert wie Charme – bzhar93

0

Sie können Ressourcen angeben, die auf die Kultur der Personen zugeschnitten sind, die Ihre App verwenden. Sie können einen beliebigen Ressourcentyp angeben, der für die Sprache und Kultur Ihrer Benutzer geeignet ist. Der folgende Screenshot zeigt beispielsweise eine App, die im Standard-Gebietsschema (en_US) des Geräts und im Gebietsschema Spanisch (es_ES) eine Zeichenfolge und ausklappbare Ressourcen anzeigt.

<resources> 
     <string name="hello_world">Hello World!</string> 
    </resources> 

enter image description here

<resources> 
     <string name="hello_world">¡Hola Mundo!</string> 
    </resources> 

lesen Entwickler-Dokumentation, wie pro Ihre unten Logik.

Supporting Different Languages and Cultures