大家都知道Adapter 有三种 分别是ArrayAdapter SimpleAdapter 和BaseAdapter 我对Adapter的理解就是 他是给ListView配置数据的一个工具 使用它我们可以设置Listview的每一项设置内容
咱们先从最简单的说起吧
1. 实现Listview的最简单方法 ——指定entries属性即可
- 设置xml布局文件中listview的部分
-
<ListView android:id="@+id/set" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="@color/colorPrimary" android:dividerHeight="2dp" android:headerDividersEnabled="true" android:footerDividersEnabled="true" android:entries="@array/setting"/>
- 接下来 在res目录下的values子目录下创建array文件即可
-
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="setting"> <item>设置1 </item> <item>设置2 </item> <item>设置3 </item> <item>设置4 </item> </string-array> </resources>
2、通过ArrayAdapter实现数据填充
- 布局文件listview部分
<ListView android:id="@+id/set1" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="@color/colorPrimary" android:dividerHeight="2dp" android:headerDividersEnabled="true" android:footerDividersEnabled="true" />
- item_list代码 这里要注意 item_list的根布局不能为其他布局管理器 不然编译器会报错
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/names" android:textSize="30sp" android:textColor="#00ff0f" />
- Java代码 ArrayAdapter的参数含义如下 第一个参数是上下文对象 第二个参数是每一个列表项的布局 第三个参数是用于填充listview的字符串数组资源
-
private String[] items = {"离线模式","WLAN","个人热点","移动网络"}; private ListView list ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); list = findViewById(R.id.set1); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.item_list,items); list.setAdapter(adapter);