Android:entries的使用

来源:互联网 发布:数据建模培训班 编辑:程序博客网 时间:2024/06/07 17:23

布局:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="名单:" />    <ListView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:divider="#00FF00"        android:entries="@array/sports" />    <ListView        android:id="@+id/nameList"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:divider="#00FF00" /></LinearLayout>

在上面的布局中定义了两个ListView,
第一个ListView通过android:entries指定了列表的项数组:

<?xml version="1.0" encoding="utf-8"?><resources>    <string-array name="sports">        <item>足球</item>        <item>篮球</item>        <item>乒乓球</item>        <item>网球</item>    </string-array></resources>

第二个ListView通过ArrayAdapter适配器使用数组来确定列表项,并监听点击事件,每点击用日志输出打印:

java类:

package com.example.administrator.myapplication;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.ListView;import java.util.Arrays;import java.util.List;/** * Created by Administrator on 2017/5/12. */public class EntriesActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {    ListView nameList = null;    String[] names = {"张三", "李四", "王五", "宋六", "猪八"};//    private List<String> mDatas = Arrays.asList("聊天", "发现", "通讯录", "朋友圈", "订阅号");    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main1);        findViews();    }    private void findViews() {        nameList = (ListView) this.findViewById(R.id.nameList);        //定义一个适配器,同时将定义列表项的数组添加进去        ArrayAdapter adapter = new ArrayAdapter(this,                android.R.layout.simple_list_item_1, names);        nameList.setAdapter(adapter);        //为列表添加监听事件        nameList.setOnItemClickListener(this);    }    @Override    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {        Log.i("TAG", names[position]                + " position=" + String.valueOf(position)                + "  row_id=" + String.valueOf(id));    }}

通过这个例子我们可以看出
第一个listview在xml中直接定义属性Android:entries后我们就不需要再用适配器让数据显示出来,它会直接显示出条目,
第二个listview则必须在适配器下显示。这就是他们的区别。

参考:

Android:entries的使用

0 0