Simon.
Simon.

Reputation: 1896

Android: Array Adapter not displaying ListView

My Adapter:

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class NewAdapter extends ArrayAdapter<Presenter> {
    Context context;
    List<Presenter> presenterList;
    private LayoutInflater mmInflater;

    public NewAdapter(Context context, List<Presenter> data) {
        super(context, R.layout.listview_item_row_presenters);
        mmInflater = LayoutInflater.from(context);
        this.context = context;
        this.presenterList = data;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View itemView = convertView;
        if (itemView == null) {
            itemView = mmInflater.inflate(R.layout.listview_item_row_presenters, parent, false);
        }


        Presenter currentPresenter = presenterList.get(position);


        ImageView imageView = (ImageView)itemView.findViewById(R.id.imgIcon);
        imageView.setImageBitmap(currentPresenter.getImage());


        TextView titleText = (TextView) itemView.findViewById(R.id.txtTitle);
        titleText.setText(currentPresenter.getName());


        TextView descripText = (TextView) itemView.findViewById(R.id.txtAbout);
        descripText.setText(currentPresenter.getInfo());


        return itemView;
    }               
}

The Method which calls & sets adapter to ListView

private void populateListView(List<Presenter> presList) {
    ArrayAdapter<Presenter> adapter = new NewAdapter(this.getBaseContext(), presList);
    ListView list = (ListView) findViewById(R.id.listViewPres);
    list.setAdapter(adapter);
}

I have Logcat output which proves non of the data is null or empty, non errors or anything :/ I can only guess it is any issue with the context & inflator but it eludes me as to why

Thank you In Advance

Upvotes: 0

Views: 1433

Answers (1)

Shayan Pourvatan
Shayan Pourvatan

Reputation: 11948

change

 super(context, R.layout.listview_item_row_presenters);

with

super(context,  R.layout.listview_item_row_presenters, data); // add data

as you extends ArrayAdapter, super in constructor handle listItem size and you need pass your list to constructor method

for sample code you can see section 2.3 @ AndroidListView

Upvotes: 2

Related Questions