在arrayadapter,自定义列表视图中输入多个项目(图像,文本,图像,文本)

时间:2017-06-15 12:55:23

标签: android android-arrayadapter

我想创建自定义列表视图,如图所示,因为我无法添加数据,即图像,文本,图像,文本 现在任何人都可以指导我在listview中输入数据吗? 我已经完成了一个文本和一个图像,现在我想要这两个文本和两个图像。

android.widget.ListView viewall=(android.widget.ListView)findViewById(R.id.viewall);

        final ArrayList<ViewReview> arrayList=new ArrayList<>();
        ViewReview r1=new ViewReview();
        ViewReview r2=new ViewReview();

        ViewReview adapter=new ViewReview(this,arrayList);
        viewall.setAdapter(adapter);


//--------------Adapter class
package com.example.ali_raza.cook;

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;

import java.util.ArrayList;

/**
 * Created by Ali_Raza on 15-06-2017.
 */

public class ViewReview extends ArrayAdapter<Reviewlist> {
public ViewReview(Context context, ArrayList arraylist,Context c){
        super(context,0,arraylist);

        }



    public View getView(int position, View view, ViewGroup parent){
        View viewall=view;
        LayoutInflater inflater=LayoutInflater.from(getContext());
        if(view==null){
        viewall=inflater.inflate(R.layout.reviewcustom,parent,false);

        }
        Reviewlist r=getItem(position);
        ImageView image1=(ImageView)viewall.findViewById(R.id.userimage);
        TextView text1=(TextView)viewall.findViewById(R.id.nameuser);
        ImageView image2=(ImageView)viewall.findViewById(R.id.star);
        TextView text2=(TextView)viewall.findViewById(R.id.paragraph);

        image1.setImageResource(r.getRateimage());
        text1.setText(r.getNameuser());
        image2.setImageResource(r.getStar());
        text2.setText(r.getRev());


        return viewall;
        }

        }
[enter image description here][1]



  [1]: https://i.stack.imgur.com/OBM6q.png

1 个答案:

答案 0 :(得分:0)

创建一个包含所有数据的bean类。

然后将自定义bean类ArrayList<YourBean>的数组列表传递给适配器。

然后通过扩展内置的BaseAdapter类来创建自定义适配器。