原创 android之ListView 的使用之用法一

2021-5-21 18:26 2467 8 8 分类: 软件与OS 文集: android studio

Android 开发中 ListView 是非常常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。它以垂直的方式排列其内部 item,其中的 item 可以被定义成各种复杂的界面,一般用于数据集的展示。ListView 在实际中使用的非常多,而且很多人在使用ListView 时遇到的问题非常多,所以有必要单独用一节来讲解 ListView

从上面的描述中可以总结出一个列表显示需要的三个要素用来展示列表的 View,即 item;用来把数据映射到ListView item 上的适配器;具体的将被映射的字符串、图片、基本控件等数据。

适配器按照自定义程度分为 3∶ArrayAdapterSimpleAdapter 和通过继承 BaseAdapter来自定义 Adapter。其中以ArrayAdapter 最为简单,只能展示一行字。SimpleAdapter有一定的扩充性,可以实现一定的自定义效果。自定义的 Adapter 则具有最好的扩展性,并能够实现各种自定义的效果。下面我们先来使用 ArrayAdapter 实现 ListView

使用 ArrayAdapter 来实现ListView 的只能展示一行字,功能简单,实现也相对简单。首先在Activity 对应的布局文件中加入ListView控件,就像加入 TextView 等其他普通控件一样。MainActivity的布局文件代码如下

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent"
  6. tools:context=".MainActivity">
  7. <ListView
  8. android:id="@+id/listview"
  9. android:layout_width="match_parent"
  10. android:layout_height="wrap_content"/>
  11. </RelativeLayout>

本例中使用的是 ArrayAdapter,不需要去自建 item,因为系统给使用 ArrayAdapter ListView事先分配好了item,只需要去调用就可以。下面是 MainActivity 中的代码

  1. package com.rfstar.listviewtest;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.widget.ArrayAdapter;
  5. import android.widget.ListView;
  6. public class MainActivity extends AppCompatActivity {
  7. private ListView listView;
  8. String[] arrays=new String[15];
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. initArrays();
  14. initView();
  15. }
  16. private void initView() {
  17. listView=(ListView)findViewById(R.id.listview);
  18. ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,arrays);
  19. listView.setAdapter(arrayAdapter);
  20. }
  21. private void initArrays() {
  22. for(int i=0;i<15;i++)
  23. {
  24. arrays[i]="大鸟科创空间"+i;
  25. }
  26. }
  27. }

在代码中,核心部分有两点。

第一,ArrayAdapter 适配器在初始化时需要传入3 个参数,分别是对应的上下文对象,展示列表条目的item,以及数据集。上下文对象传入的是当前对象,传入的 item是系统自带的,需要使用 android.R.layout.simple_expandable_list_ item_1来获取。ArrayAdapter初始化时需要的数据集必须是数组类型的,这里传入了一个字符串数组。

第二,在 Activity 中,通过使用 findViewById()方法获取了ListView 类,ListView 通过调用setAdapter()方法,设置了对应的适配器。

运行程序,一个使用 ArrayAdapter 实现的ListView效果如下图:

更多精彩内容,请关注以下公众号:

作者: 大鸟科创空间, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3949041.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条