Créer listview dans le fragment android

Comme le titre je veux créer une listview avec de ligne personnalisée dans le Fragment. Mon code ci-dessous.

Fragment de classe

public class PhotosFragment extends Fragment{

public PhotosFragment(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_photos, container, false);

    ArrayList<ListviewContactItem> listContact = GetlistContact();
    ListView lv = (ListView)getActivity().findViewById(R.id.lv_contact);
    lv.setAdapter(new ListviewContactAdapter(getActivity(), listContact));

    return rootView;
}

private ArrayList<ListviewContactItem> GetlistContact(){
    ArrayList<ListviewContactItem> contactlist = new ArrayList<ListviewContactItem>();

    ListviewContactItem contact = new ListviewContactItem();

    contact.SetName("Topher");
    contact.SetPhone("01213113568");
    contactlist.add(contact);

    contact = new ListviewContactItem();
    contact.SetName("Jean");
    contact.SetPhone("01213869102");
    contactlist.add(contact);

    contact = new ListviewContactItem();
    contact.SetName("Andrew");
    contact.SetPhone("01213123985");
    contactlist.add(contact);

    return contactlist; 
    }   
}

Adaptateur classe

public class ListviewContactAdapter extends BaseAdapter{
private static ArrayList<ListviewContactItem> listContact;
private LayoutInflater mInflater;
public ListviewContactAdapter(Context photosFragment, ArrayList<ListviewContactItem> results){
listContact = results;
mInflater = LayoutInflater.from(photosFragment);
}
@Override
public int getCount() {
//TODO Auto-generated method stub
return listContact.size();
}
@Override
public Object getItem(int arg0) {
//TODO Auto-generated method stub
return listContact.get(arg0);
}
@Override
public long getItemId(int arg0) {
//TODO Auto-generated method stub
return arg0;
}
public View getView(int position, View convertView, ViewGroup parent) {
//TODO Auto-generated method stub
ViewHolder holder;
if(convertView == null){
convertView = mInflater.inflate(R.layout.contact_item, null);
holder = new ViewHolder();
holder.txtname = (TextView) convertView.findViewById(R.id.lv_contact_item_name);          
holder.txtphone = (TextView) convertView.findViewById(R.id.lv_contact_item_phone);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txtname.setText(listContact.get(position).GetName());
holder.txtphone.setText(listContact.get(position).GetPhone());
return convertView;
}
static class ViewHolder{
TextView txtname, txtphone;
}
}

Mais quand je lance l'application qui affichent pas une chose. Quelqu'un pourrait-il me dire ce qui cloche ici et comment puis-je résoudre ce problème?

  • ça plante??
  • Non, Il fonctionne très bien, mais l'affichage de rien dans le fragment.
  • J'ai également essayé la même chose. Pouvez-vous me donner le code source complet?
  • Toutes les chose que j'ai posté dans mon quension. Et vous pouvez également trouver de nombreux tutoriel sur la listview sur google.
  • pour moi aussi même ne tourne pas, voici mon code stackoverflow.com/questions/26254727/...
  • Salut @gamo pouvez-vous m'indiquer le code pour la mise en page "contact_item" et la Java "ListviewContactItem". Je suis en train de faire quelque chose de similaire.

InformationsquelleAutor gamo | 2014-03-19