自定义列表视图中TextView android错误的资源ID

时间:2014-03-05 20:31:28

标签: java android listview adapter

我有这个自定义列表视图:

    public class Evento {
        public String nome;
        public String local;
        public String inicio;

        public Evento(String nome, String local, String inicio) {
            this.nome = nome;
            this.local = local;
            this.inicio = inicio;
        }

        public String getNome() {
            return nome;
        }

        public void setNome(String nome) {
            this.nome = nome;
        }

        public String getLocal() {
            return local;
        }

        public void setLocal(String local) {
            this.local = local;
        }

        public String getInicio() {
            return inicio;
        }

        public void setInicio(String inicio) {
            this.inicio = inicio;
        }

    }


    public class AdapterEventos extends ArrayAdapter<Evento> {

        private final Context context;
        private final ArrayList<Evento> eventosArrayList;

        public AdapterEventos(Context context, ArrayList<Evento> eventos) {

            super(context, R.layout.listeventos, eventos);
            this.context = context;
            this.eventosArrayList = eventos;
        }



        public View getViewEventos(int position, View convertView, ViewGroup parent) {

            //Create inflater
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            //Get rowView from inflater
            View LinhaEventoView = inflater.inflate(R.layout.listeventos, parent, false);

            //Get the text view from the rowView
            TextView nomeView = (TextView) LinhaEventoView.findViewById(R.id.tvNomeEvento);
            TextView localView = (TextView) LinhaEventoView.findViewById(R.id.tvLocalEvento);
            TextView inicioView = (TextView) LinhaEventoView.findViewById(R.id.tvInicioEvento);

            //Set the text for textView
            nomeView.setText(eventosArrayList.get(position).getNome());
            localView.setText(eventosArrayList.get(position).getLocal());
            inicioView.setText(eventosArrayList.get(position).getInicio());

            //return rowView
            return LinhaEventoView;
        }
    }

当我运行应用程序时,我收到以下错误:'您必须为TextView提供资源ID'。我想我必须从列表布局(listenventos.xml [1])传递一些textview id,但我不知道该怎么做。有人可以帮我吗?

[1] http://pastebin.com/B1kgptHx

由于

1 个答案:

答案 0 :(得分:0)

决定改为:

        public AdapterEventos(Context context, ArrayList<Evento> eventos) {

            super(context, R.layout.listeventos,R.id.tvNomeEvento, eventos);
            this.context = context;
            this.eventosArrayList = eventos;
        }