方法一、通过引入资源文件
1、在values目录下建一个资源文件,我这边是显示一个简单的数组列表
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="arrayList">
<item>全部</item>
<item>电影</item>
<item>图书</item>
<item>游戏</item>
</string-array>
</resources>
2、在布局文件中引入这样一个资源文件,ListView里面有一个android:entries
属性,用来引入目标资源,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:entries="@array/arrayList"
></ListView>
</LinearLayout>
这里引入的就是刚刚创建好的资源文件。
然后运行activity就能看到效果了:
方法二、通过Java代码实现
1、编写实体类
首先定义一个简单的字符串数组:
private String[] data = {"全部","图书","电影","游戏"};
然后定义一个适配器:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(ListViewActivity.this,android.R.layout.simple_list_item_1,data);
这个适配器是个啥呢?它是用来承载数据的,我们来和listview区分一下哈。
ListView他只是提供一个框架(类似于微信消息界面那样),它只决定了样式,并不能决定内容是啥。那我们得要有一个东西来呈现数据对不辣,那这个就是adapter适配器要去完成的事情了。
括号里面是(上下文,显示数据的样式,数据源)。
那我们要显示的数据从哪儿来呢,就是我们上面定义好的字符串数组data。
然后再往下:
ListView listView = (ListView) findViewById(R.id.listView);
listView.setAdapter(adapter);
就是把listview视图拿过来,然后把适配器装载进去,最后运行就可以了。