2012-08-07 2 views
0

En essayant de prendre une position de tableau (toString) et de la passer à une nouvelle activité, utilisez cette chaîne pour sélectionner le tableau à ouvrir dans la nouvelle activité.Utilisation d'une chaîne pour sélectionner le groupe

Intent launchingIntent = getIntent(); 
String content = launchingIntent.getData().toString(); 
setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(), R.array.????, R.layout.main)); ` 

le R.array. doit être la chaîne qui est passée (contenu de la chaîne), car c'est le nom de mon tableau à suivre.

Je ne trouve pas un moyen de transmettre la variable chaîne au nom du tableau à utiliser.

EDIT: J'essaie d'obtenir un listView pour ouvrir un autre Listview dans le même actvity, en fermant le précédent.

Répondre

0

le R.array. doit être la chaîne qui est passée (chaîne content), car c'est le nom de mon tableau à suivre.

Utilisez la méthode getIdentifier():

Intent launchingIntent = getIntent(); 
String content = launchingIntent.getData().toString(); // this returns the Uri, are you sure you didn't want to get the text from an extra field set in the Intent 
int id = getResources().getIdentifier(content, "array", getPackageName()); 
setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(), id, R.layout.main)); 

Im essayant d'obtenir un listView d'ouvrir une autre Listview dans le même actvity, fermant la précédente.

Je vous déconseillerais cela parce que vous perdez la fonctionnalité du bouton de retour (qui peut confondre l'utilisateur). Utilisez plutôt des activités différentes en transmettant des données pertinentes avec Intents ou utilisez des fragments (en particulier ListFragments).

+0

alors avoir plusieurs classes (disons 20+) ne va pas ralentir mon application? – IamERROR

+0

@IamERROR Vous ne devriez pas utiliser une activité pour chaque entrée dans le premier 'ListView' (c'est ce que vous voulez faire?). Au lieu de cela, créez deux activités, l'une avec le ListView' initial et l'autre un "ListView détails" qui utilise les informations de l'activité précédente pour configurer son interface utilisateur. – Luksprog

Questions connexes