Afficher une listview

Résolu/Fermé
Noob_For_Ever Messages postés 2 Date d'inscription mardi 23 août 2016 Statut Membre Dernière intervention 24 août 2016 - Modifié par Noob_For_Ever le 23/08/2016 à 19:23
Noob_For_Ever Messages postés 2 Date d'inscription mardi 23 août 2016 Statut Membre Dernière intervention 24 août 2016 - 24 août 2016 à 10:23
Bonjour,

Je viens de débuter depuis peu sur Android Studio, et je rencontre mon 1er problème.

J'essaye de creer une listview toute simple, mais les données (saisies en dur) ne veulent pas s'afficher, et je n'ai aucun message d'erreur.

Voici le code de ma page d'accueil : MainActivity.java



public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);



}
@Override
public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main_menu, menu);

SearchView searchView = (SearchView) menu.findItem(R.id.searchable).getActionView();
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {

return true;
case R.id.accueil:
setContentView(R.layout.activity_main);
return true;
case R.id.catalogue:
setContentView(R.layout.catalogue);
return true;

default:
return super.onOptionsItemSelected(item);
}
}

}


et le code ou je pense qu'il y a problème : listCatalogue.java


public class ListCatalogue extends MainActivity {


String[] catalogue_livre = {"Classique","Contemporain","Historique","Jeunesse","Policier","Thriller","SF/Fantasy/Fantastique", };


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.catalogue);

ListView maList = (ListView) findViewById(R.id.listView);
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, catalogue_livre);
maList.setAdapter(adapter);
}



Si je le fait directement dans le main cela fonctionne, la liste apparait, mais en passant par le menu rien ne s'affiche :(

Auriez vous une idée?

Je vous remercie de m'avoir lu et si vous pouvez m'aider je vous remercie encore plus!!! ;)

2 réponses

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 3 894
24 août 2016 à 09:45
Hello,

case R.id.catalogue:
  setContentView(R.layout.catalogue);

Ce n'est pas comme cela qu'il faut faire. Il faut lancer un nouvel écran et non écraser l'écran courant. Regarde
startActivity()
1
Noob_For_Ever Messages postés 2 Date d'inscription mardi 23 août 2016 Statut Membre Dernière intervention 24 août 2016
24 août 2016 à 10:23
Merci beaucoup BrunoCS!!!

Ça fonctionne parfaitement!!!!

Je le marque comme résolu ;)
0