ListView

Main

public class MainActivity extends AppCompatActivity {
    private ListView mLvMsgList;
    private List<Msg> mDatas = new ArrayList<>();
    private MyAdapter mAdapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mLvMsgList = findViewById(R.id.list);

        mDatas.addAll(MsgLab.generateMockList());

        mAdapter = new MyAdapter(this,mDatas);
        mLvMsgList.setAdapter(mAdapter);
    }
}

适配器

public class MyAdapter extends BaseAdapter {
    private Context mContext;
    private LayoutInflater mLayoutInflater;
    private List<Msg> mDatas;

    public MyAdapter(Context mContext, List<Msg> mDatas) {
        this.mContext = mContext;
        mLayoutInflater = LayoutInflater.from(mContext);
        this.mDatas = mDatas;
    }

    public int getCount() {
        return mDatas.size();
    }

    @Override
    public Object getItem(int position) {
        return mDatas.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
       ViewHolder viewHolder ;
        if (convertView==null){
        convertView =mLayoutInflater.inflate(R.layout.list_text,parent,false);
        viewHolder = new ViewHolder();
        viewHolder.tv = convertView.findViewById(R.id.tv);
        viewHolder.iv =convertView.findViewById(R.id.iv);
        convertView.setTag(viewHolder);
        }else {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        Msg msg = mDatas.get(position);
        viewHolder.tv.setText(msg.getContent());
        viewHolder.iv.setImageResource(msg.getIv());
        return convertView;
    }

    public static class ViewHolder{
        TextView tv;
        ImageView iv;
    }
}

 

虚拟数据

public class MsgLab {
    public static List<Msg> generateMockList() {
        List<Msg> msgList = new ArrayList<>();
        Msg msg = new Msg("1", R.mipmap.ic_launcher);
        msgList.add(msg);
        msg = new Msg("2",R.mipmap.ic_launcher);
        msgList.add(msg);
        msg = new Msg("3",R.mipmap.ic_launcher);
        msgList.add(msg);
        msg = new Msg("4",R.mipmap.ic_launcher);
        msgList.add(msg);
        msg = new Msg("5",R.mipmap.ic_launcher);
        msgList.add(msg);
        msg = new Msg("6",R.mipmap.ic_launcher);
        msgList.add(msg);

        return msgList;
    }

    }
public class Msg {
   private String content;
   private int Iv;

    public Msg(String content, int iv) {
        this.content = content;
        Iv = iv;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public int getIv() {
        return Iv;
    }

    public void setIv(int iv) {
        Iv = iv;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值