2016-06-27 7 views
0

Ich habe einen Spinner gemacht, der eine Reihe von Sprachen als Items hat und ich möchte es so machen, dass, wenn ein Benutzer eine bestimmte Sprache auswählt, diese ausgewählten TextViews übersetzt werden, während andere nicht übersetzt werden. Weiß jemand, wie ich das machen würde?Wie verwende ich Elemente, die in einem Spinner ausgewählt wurden, um TextViews zu übersetzen?

<string-array name="Languages"> 
    <item>English</item> 
    <item>Tiếng Việt</item> 
    <item>中文/</item> 
    <item>हिंदी</item> 
    <item>العربية</item> 
    <item>Español</item> 
</string-array> 

spinner = (Spinner) findViewById(R.id.spinner); 
    ArrayAdapter adapter=ArrayAdapter.createFromResource(this,  R.array.Languages, android.R.layout.simple_spinner_item); 
    spinner.setAdapter(adapter); 
    spinner.setOnItemSelectedListener(this); 

oben ist mein Spinner eingerichtet. Unten ist ein Beispiel für eine der Textansichten.

<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/airport" 
     android:textSize="40sp" 
     android:textColor="#000000" 
     android:layout_gravity="center_vertical" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

Antwort

0

Zuerst müssen Sie die Sprache Locale ändern, wenn Sie ein Element des Spinners wählen:

public void setLocale(String lang) { 
    myLocale = new Locale(lang); 
    Resources res = getResources(); 
    DisplayMetrics dm = res.getDisplayMetrics(); 
    Configuration conf = res.getConfiguration(); 
    conf.locale = myLocale; 
    res.updateConfiguration(conf, dm); 
    Intent refresh = new Intent(this, MyActivity.class); 
    startActivity(refresh); 
finish(); 
} 

Nach so tun, Android der Wert für aussehen sollte in strings.xml Datei gespeichert werden, mit die entsprechende Taste:

Englisch: Werte/strings.xml

<string name="airport">AIRPORT</string> 

Spanisch: Werte-e s/strings.xml

<string name="airport">AEROPUERTO</string> 
Verwandte Themen