ListView控件简单用法

ListView 的简单用法:

1. 新建一个 ListVIew 项目,让 Android Studio 自动帮我们创建好活动。然后修改activity_main.xml 中的代码,如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView
        android:id="@+id/list_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </ListView>
</LinearLayout>
  • 在布局中加入 ListView 控件比较简单,先为 ListView 指定一个 id ,然后将宽高都设置成 match_parent ,这样 ListView 也就占满了整个布局的空间。译:match 匹配
2. 接下来修改 MainActivity 中的代码,如下:
public class MainActivity extends AppCompatActivity {

   private String[] data = {
            "Apple","Banana","Orange","Watermelon","Pear","Grape","Pineapple"
            ,"Strawberry","Cherry","Mango", "Apple","Banana","Orange",
            "Watermelon","Pear","Grape","Pineapple"
    }; //待会需要传入的数据
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);//加载布局

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this ,
                android.R.layout.simple_list_item_1, data );//适配器
        ListView listView = (ListView)findViewById(R.id.list_view);//获取组件对象

        listView.setAdapter(adapter);//添加适配器
    }
    
}
  • ListView 是用来展示大量数据的,那我们应先将数据提供好。这里我们先简单使用data数组来测试,里面都是水果的名称。

  • 不过,数组中的数据实是无法直接传递给 ListView 的,我们还需要借助适配器来完成。 Android中提供了很多适配器的实现类,此处用 ArrayAdapter适配器它可以通过泛型来指定要适配的数据类型,然后在构造函数中把要适配的数据传入。ArrayAdapter 有多个构造函数的重载,根据实际情况来选择合适的一种。

  • 这里我们提供的数据都是字符串,因此将ArrayAdapter 的泛型指定为 String,然后在 ArrayAdapter 的构造函数中依次 传入 上下文ListView 子项布局的 id,以及要适配的数据。注意:我们使用了 android.R.layout.simple_list_item_1作为 ListView 子项布局的 id,这是一个Android 内置的布局文件,里面只有一个 TextView ,可用于简单地显示一段文本。这样适配器就构建好了。

  • 最后调用 ListView 的 setAdapter() 方法,将构建好的适配器对象传递进去,这样ListView 和数据之间的关联就建立好了。

3. 现在运行程序,效果图如下所示。可以通过滚动方式类查看屏幕外的数据。

ListView控件简单用法

  • 效果是上面效果,只是没有图片,上面是 定制 ListView 的界面效果图

内容来自: 《第一行代码Android》

  • 如果内容对你有帮助可以收藏起来,或 哪里有误请评论留言!万分感谢!