Android:ArrayAdapter 与 entries的使用
16lz
2021-01-26
布局:
<?xml version="1.0" encoding="utf-8"?>
在上面的布局中定义了两个ListView,
第一个ListView通过android:entries指定了列表的项数组:
<?xml version="1.0" encoding="utf-8"?> - 足球
- 篮球
- 乒乓球
- 网球
第二个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 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的使用
更多相关文章
- Android(安卓)如何修改默认的searchable items。
- 自定义alertDialog
- Android(安卓)自定义时间轴
- 界面背景渐变色
- Java(Android)数据结构汇总(四)-- Map(上)
- android sensor驱动移植
- Gradle学习-----Gradle自定义插件
- Android(安卓)listview增加条目时自动回滚到最后一行
- 自定义控件其实很简单(笔记一)