Adaptateur personnalisé getview n'est pas appelé

J'ai un Coutume adaptateur avec un ListFragment mais les cartes getView() n'est pas prise en appelle à tous.

C'est la façon dont la carte ressemble -

public class ModuleListItemAdapter extends BaseAdapter {

    List<ModuleItem> list;
    Context context;
    Module mod;

    public ModuleListItemAdapter() {
        super();
        //TODO Auto-generated constructor stub
    }

    public ModuleListItemAdapter(Context context, List<ModuleItem> list, Module mod) {
        super();
        this.list = list;
        this.context = context;
        this.mod = mod;
        //TODO Auto-generated constructor stub
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        RelativeLayout rl = (RelativeLayout) inflater.inflate(R.layout.moduleitem, null);
        GenerateModuleItemView gmiv = new GenerateModuleItemView(context);
        rl.addView(gmiv.itemDispView(mod.getFields(), list.get(position)));
        return rl;
    }

    public void setValue(List<ModuleItem> l) {
        this.list = l;
        notifyDataSetChanged();
    }

    public void addValue(ModuleItem item) {
        this.list.add(item);
        notifyDataSetChanged();
    }

    @Override
    public int getCount() {
        //TODO Auto-generated method stub
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        //TODO Auto-generated method stub
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        //TODO Auto-generated method stub
        return 0;
    }
}

Et le Fragment -

public class ModuleItemListFragment extends ListFragment {

    List<ModuleItem> list;
    Module mod;

    public ModuleItemListFragment() {
        super();
        //TODO Auto-generated constructor stub
    }

    public ModuleItemListFragment(List<ModuleItem> list, Module mod) {
        super();
        this.list = list;
        this.mod = mod;
        //TODO Auto-generated constructor stub
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        //TODO Auto-generated method stub
        return inflater.inflate(R.layout.list, container, false);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        ModuleListItemAdapter adapter = new ModuleListItemAdapter(getActivity(), list, mod);
        setListAdapter(adapter);
    }
}

Et c'est ainsi que ma mise en page ressemble -

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@android:id/list"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:divider="#000000"
          android:dividerHeight="1dip" />

Je ne sais pas quel est le problème ici.

@Override public int getCount() { return list.size(); } . Veuillez utiliser google avant de poser une question.
bro sa ne fonctionne pas bien
Comme Luksprog dit, vous avez besoin d'ajouter quelque chose à getCount. Il ne va pas essayer de créer tout point de vue si il pense que vous voulez 0.
Êtes-vous sûr que votre "liste" n'est pas vide?

OriginalL'auteur Akilan | 2013-04-27