echelon3 Posted February 11, 2011 Share Posted February 11, 2011 EDIT : résolu ! simple problème de manifest apparemment Bonsoir, J’ai un problème au niveau de mon application qui survient quand je rajoute des tabhost. Pour essayer de comprendre d’où vient mon l’erreur, j’ai repris un tuto sur internet qui affiche une ListeView depuis une Activity puis j’ai essayé d’afficher cette ListView dans un onglet, tout simplement. Le probleme est que je me retrouve à chaque fois avec un : ERROR/AndroidRuntime(405): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.formation.adapter/com.formation.adapter.MonActivite}: java.lang.NullPointerException et je ne vois pas d’où viens le problème. Biblio qui ajoute les onglets package com.formation.adapter; import android.app.TabActivity; import android.content.Intent; import android.os.Bundle; import android.widget.TabHost; public class Biblio extends TabActivity { private TabHost tabHost; private TabHost.TabSpec spec; private Intent intentFeed; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Mise en place des onglets { tabHost = getTabHost(); intentFeed = new Intent().setClass(this, MonActivite.class); // Initialize a TabSpec for each tab and add it to the TabHost spec = tabHost.newTabSpec("livre").setIndicator("Livre", null) .setContent(intentFeed); tabHost.addTab(spec); tabHost.setCurrentTab(0); } } } MonActivite qui affiche la list package com.formation.adapter; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.widget.ListView; public class MonActivite extends Activity { ListView lvListe; List<Livre> maBibliotheque = new ArrayList<Livre>(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.itemlivre); lvListe = (ListView)findViewById(R.id.lvListe); RemplirLaBibliotheque(); LivreAdapter adapter = new LivreAdapter(this, maBibliotheque); lvListe.setAdapter(adapter); adapter.notifyDataSetChanged(); } private void RemplirLaBibliotheque() { maBibliotheque.clear(); maBibliotheque.add(new Livre("Starcraft 2 : Les diables du ciel", "William-C Dietz")); maBibliotheque.add(new Livre("L'art du développement Androïd", "Mark Murphy")); maBibliotheque.add(new Livre("Le seuil des ténèbres", "Karen Chance")); } } LivreAdapter package com.formation.adapter; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; public class LivreAdapter extends BaseAdapter { List<Livre> biblio; LayoutInflater inflater; public LivreAdapter(Context context,List<Livre> biblio) { inflater = LayoutInflater.from(context); this.biblio = biblio; } @Override public int getCount() { return biblio.size(); } @Override public Object getItem(int position) { return biblio.get(position); } @Override public long getItemId(int position) { return position; } private class ViewHolder { TextView tvTitre; TextView tvAuteur; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if(convertView == null) { holder = new ViewHolder(); convertView = inflater.inflate(R.layout.itemlivre, null); holder.tvTitre = (TextView)convertView.findViewById(R.id.tvTitre); holder.tvAuteur = (TextView)convertView.findViewById(R.id.tvAuteur); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.tvTitre.setText(biblio.get(position).getTitre()); holder.tvAuteur.setText(biblio.get(position).getAuteur()); return convertView; } } Comment pourrais-je résoudre ce problème ? Merci d'avance pour votre aide. :) Link to comment Share on other sites More sharing options...
ClémentHallet Posted February 28, 2011 Share Posted February 28, 2011 tout à fait, le code est bon, le soucis se trouve au niveau de ton XML ;-) il faut lire l'erreur que tu as eu, et utiliser les Log (qu'on voit dans le LogCat) ++ Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.