Android期末考考前盘点(四):必考的ListView

首先要知道明白ListView的作用:显示列表数据,无论是期末考试还是期末大作业都必然的会考到、使用到ListView。例如:通讯录列表、学生列表、新闻列表、资讯列表等等。

其次需要知道使用ListView需要写哪些代码?

1、创建数据源,可以是简单的数组、List对象、数据库获取的对象等等。

2、创建视图以及item视图,要知道使用ListView起码需要两个xml文件,一个是LsitView一个是其item的布局。

如何新建xml文件?右箭layout->new->layout Resource File

3、编写适配器,编写一个最简单的适配器,继承于BaseAdapter,并重写方法。这里用到快捷键:alt+Enter(回车),点击Implement methods,会快速重写需要重写的方法。

全选并确认

 

然后修改一下重写的方法

请看以下修改后的代码

public class StudentAdapter extends BaseAdapter {
    //数据源
    ArrayList<Student> sData = new ArrayList<>();
    //上下文
    private Context mContext;
    //构造方法  new对象的时候需要传递进来数据源和上下文
    public StudentAdapter(ArrayList<Student> sData, Context mContext) {
        this.sData = sData;
        this.mContext = mContext;
    }
    //ListView长度  (item个数)  一般都是数据源的长度 如List类型的话是.size() 
    //数组类型的话 是 数组.length
    @Override
    public int getCount() {
        return sData.size();
    }
    //ListView 的item   List类型的话是  .get(position)  数组的话是  数组[position]
    @Override
    public Object getItem(int position) {
        return sData.get(position);
    }
    //返回item的id   一般就是返回position
    @Override
    public long getItemId(int position) {
        return position;
    }
    //最难理解 最容易出错的getView方法  从名字看就是获取item的视图
    //所以需要完成获取layout以及设置视图内的数据 如ImageView、TextView、EditText等
    // convertView = LayoutInflater.from(mContext).inflate(R.layout.student_list,null);
    //一般不变   R.layout.自己的item视图
    //return convertView;之前绑定视图控件并设置数据
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        //更常用这种写法
        //View view=View.inflate(mContext,R.layout.student_list,null);
        convertView = LayoutInflater.from(mContext).inflate(R.layout.student_list,null);

        TextView txt_id = (TextView) convertView.findViewById(R.id.id);
        TextView txt_name = (TextView) convertView.findViewById(R.id.name);
        TextView txt_age = (TextView) convertView.findViewById(R.id.age);
        TextView txt_address = (TextView) convertView.findViewById(R.id.address);

        txt_id.setText(sData.get(position).getId()+"");
        txt_name.setText(sData.get(position).getName());
        txt_age.setText(sData.get(position).getAge()+"");
        txt_address.setText(sData.get(position).getAddress());
        return convertView;
    }
}

4、设置适配器,在代码中调用ListView的SetAdapter方法 设置适配器

ListView listView=findViewById(R.id.listview);
//看需要的参数 有的需要传递数据源
TestAdapter mAdapter=new TestAdapter (this);
listView.setAdapter(simpleAdapter);

解析不详细不懂,可以评论或私信,后续在本章末尾会补充视频版本的解释ListView

2023-6-5

视频版本已经上传至主页

主页视频模糊 可看B站

Android Studio ListView期末超简单复习_哔哩哔哩_bilibil

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林林要一直努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值