Reputation: 45
I am trying to create a custom Adapter based on a few examples, but I keep getting some errors that I can´t figure it out.
I will post the complete class and then I will point out the errors.
package br.com.agenciaeisberg.qm;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
/**
* Created by Usuário on 04/02/2015.
*/
public class HospitaisAdapter extends BaseAdapter {
private ArrayList<Hospitais> ListaHospitais;
private Context context;
private LayoutInflater layoutInflater;
public HospitaisAdapter (Context context, ArrayList<Hospitais> ListaHospitais) {
this.ListaHospitais= ListaHospitais;
this.context=context;
layoutInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return listData.size();
}
@Override
public Object getItem(int position) {
return listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = layoutInflater.inflate(R.layout.item_hospital, null);
holder = new ViewHolder();
holder.pid= (TextView) convertView.findViewById(R.id.pid);
holder.nome= (TextView) convertView.findViewById(R.id.nome);
holder.image= (ImageView) convertView.findViewById(R.id.imglotacao);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Hospitais item = (Hospitais) ListaHospitais.get(position);
holder.pid.setText(item.getPid());
holder.nome.setText(item.getNome());
holder.image.setImageDrawable(context.getResources().getDrawable(R.drawable.l_9_1));
return convertView;
}
static class ViewHolder {
TextView pid;
TextView nome;
ImageView image;
}
}
As for the errors
1 - It says it cannot resolve symbol on this :
private ArrayList<Hospitais> ListaHospitais;
private Context context;
private LayoutInflater layoutInflater;
public HospitaisAdapter (Context context, ArrayList<Hospitais> ListaHospitais) {
this.ListaHospitais= ListaHospitais;
this.context=context;
layoutInflater = LayoutInflater.from(context);
}
I cannot understand what is happening.
2 - It cannot resolve the symbol listData
@Override
public int getCount() {
return listData.size();
}
@Override
public Object getItem(int position) {
return listData.get(position);
}
3 - Cannot Resolve Method on this getPid and getNome
holder.pid.setText(item.getPid());
holder.nome.setText(item.getNome());
Upvotes: 0
Views: 89
Reputation: 18112
In getCount()
and getItem()
replace
listData
with
ListaHospitais
Check if class Hospitais
has methods getPid()
and getNome()
Upvotes: 1
Reputation: 10663
From what I can see, listData
is never defined anywhere, hence the "cannot resolve the symbol listData"
Upvotes: 0