Ich versuche, eine mehrsprachige App zu erstellen, aber meine Homepage ist ein GridView aus Bildern und TextViews. Wenn ich eine Liste in Java (wie folgt) erstellt habe:gridView - Array in strings.xml
String textoList[] = {"Visto", "Alojamento", "C.P.F.", "Alimentação", "Carteirinha", "Guia", "Registro", "Informações", "Assistência", "Biblioteca", "Calendário", "Transporte", "INT", "Intérprete", "F.A.Q."};
es funktionierte sehr gut. Aber ich erkannte, dass ich keine Liste in Java erstellen sollte, sondern ein Array, das bereits in der strings.xml-Datei erstellt wurde, so dass meine App übersetzt werden kann. Grundsätzlich möchte ich die Texte von diesem Array. Wie kann ich das machen?
Kann mir bitte jemand eine Hand geben? Wenn jemand es testen möchte, der vollständige Code ist:
package br.com.unbparaestrangeiros.unbparaestrangeiros;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
public class MainActivity extends Activity{
GridView gridView;
Resources r = getResources();
String[] textoList = r.getStringArray(R.array.itens);
//String textoList[] = {"Visto", "Alojamento", "C.P.F.", "Alimentação", "Carteirinha", "Guia", "Registro", "Informações", "Assistência", "Biblioteca", "Calendário", "Transporte", "INT", "Intérprete", "F.A.Q."};
int textoImagem[] = {R.drawable.visto, R.drawable.alojamento, R.drawable.cpf, R.drawable.alimentacao, R.drawable.carteirinha, R.drawable.guia, R.drawable.registro, R.drawable.informacoes, R.drawable.assistencia, R.drawable.biblioteca, R.drawable.calendario, R.drawable.transporte, R.drawable.informacoes, R.drawable.interprete, R.drawable.perguntas};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.inicio);
gridView = (GridView) findViewById(R.id.gridView);
GridAdapter adapter = new GridAdapter(MainActivity.this, textoImagem, textoList);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
Intent case0 = new Intent(MainActivity.this, Visto.class);
startActivity(case0);
break;
case 1:
Intent case1 = new Intent(MainActivity.this, Alojamento.class);
startActivity(case1);
break;
case 2:
Intent case2 = new Intent(MainActivity.this, CPF.class);
startActivity(case2);
break;
case 3:
Intent case3 = new Intent(MainActivity.this, Alimentacao.class);
startActivity(case3);
break;
case 4:
Intent case4 = new Intent(MainActivity.this, Carteirinha.class);
startActivity(case4);
break;
case 5:
Intent case5 = new Intent(MainActivity.this, Guia.class);
startActivity(case5);
break;
case 6:
Intent case6 = new Intent(MainActivity.this, Registro.class);
startActivity(case6);
break;
case 7:
Intent case7 = new Intent(MainActivity.this, Informacoes.class);
startActivity(case7);
break;
case 8:
Intent case8 = new Intent(MainActivity.this, Assistencia.class);
startActivity(case8);
break;
case 9:
Intent case9 = new Intent(MainActivity.this, Biblioteca.class);
startActivity(case9);
break;
case 10:
Intent case10 = new Intent(MainActivity.this, Calendario.class);
startActivity(case10);
break;
case 11:
Intent case11 = new Intent(MainActivity.this, Transporte.class);
startActivity(case11);
break;
case 12:
Intent case12 = new Intent(MainActivity.this, Assessoria.class);
startActivity(case12);
break;
case 13:
Intent case13 = new Intent(MainActivity.this, Interprete.class);
startActivity(case13);
break;
case 14:
Intent case14 = new Intent(MainActivity.this, Perguntas.class);
startActivity(case14);
break;
}
}
});
}
}
'String [] textoList [] = getResources(). GetStringArray (R.array.itens);' aus strings.xml in oncreate. Beachten Sie, dass Sie 'String [] textoList = r.getStringArray (R.array.itens);'. 'getResources (') benötigt einen Kontext. Der Kontext ist verfügbar, sobald eine Aktivität erstellt wurde. Verschieben Sie Ihren Code in onCreate – Raghunandan
Was ist der Fehler –
"Aber ich erkannte, dass ich nicht eine Liste in Java erstellen sollte, sondern ein Array verwenden, das bereits in der strings.xml-Datei erstellt wurde" - "String [] textoList" ist nicht eine 'List', verwenden Sie bereits ein Array von Strings, die direkt von den Ressourcen erhalten werden. –