Android 之 ListView列表控件
程序员文章站
2022-05-17 09:30:57
...
[color=green]
列表控件:
ListView -- 以列表的形式来显示数据;
使用该控件需要的知识点:
* 在XML 文件中配置布局;
* 在java 代码中进行数据的添加;
* MVC 思想架构;
ListView 的特性:
* ListView 的适配器有四个;
* ListView 的事件有三个:条目点击事件 条目长按事件 条目选择事件;
案例:
效果实现:通讯录列表
xml 代码:[/color]
java 代码:
列表控件:
ListView -- 以列表的形式来显示数据;
使用该控件需要的知识点:
* 在XML 文件中配置布局;
* 在java 代码中进行数据的添加;
* MVC 思想架构;
ListView 的特性:
* ListView 的适配器有四个;
* ListView 的事件有三个:条目点击事件 条目长按事件 条目选择事件;
案例:
效果实现:通讯录列表
xml 代码:[/color]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/title" /> <ListView android:id="@+id/listView" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
java 代码:
package com.example.notebook_dialog; import java.util.ArrayList; import android.app.Activity; import android.content.res.Resources; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends Activity { private ListView listview; private ArrayList<String> list = null; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /* 该案例中用到思想:MVC */ /* ListView 组建测试代码:首先获取该组件的对象 ; V */ listview = (ListView) findViewById(R.id.listView); /* 数据层 M ,准备数据 *//* 引用资源文件进行数据的添加 */ Resources rs = getResources(); list = new ArrayList<String>(); list.add(rs.getString((R.string.mary))); list.add(rs.getString(R.string.jack)); list.add(rs.getString(R.string.mike)); list.add(rs.getString(R.string.tone)); list.add(rs.getString(R.string.bob)); /* 引用颜色资源设置背景的颜色 */ listview.setBackgroundResource(R.color.beige); /* 逻辑层 C 实现 C 与M 之间的关闭 */ ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,list); /* 绑定C 与 V 之间的关系 */ listview.setAdapter(adapter); /* 绑定事件:点击 长按 选择 三种事件 */ listview.setOnItemClickListener(listview_clickListener); listview.setOnItemLongClickListener(listview_longclickListener); listview.setOnItemSelectedListener(listview_selectedListener); } /* ListView 的条目点击事件 */ OnItemClickListener listview_clickListener = new OnItemClickListener() { /* 参3:该条目的ID ; 参4:该条目在像中的位置 */ public void onItemClick(AdapterView<?> arg0, View arg1, int id, long positive) { Toast.makeText(MainActivity.this, ""+list.get(id), 1000).show(); } }; /* ListView 的条目长按事件 */ OnItemLongClickListener listview_longclickListener = new OnItemLongClickListener() { public boolean onItemLongClick(AdapterView<?> arg0, View arg1,int id, long positive) { Toast.makeText(MainActivity.this, "长按事件触发", 1000).show(); return false; } }; /* ListView 的条目选择事件 */ OnItemSelectedListener listview_selectedListener = new OnItemSelectedListener() { public void onItemSelected(AdapterView<?> arg0, View arg1, int id,long positive) { Toast.makeText(MainActivity.this, "您选择的条目id是:"+id, 1000).show(); } public void onNothingSelected(AdapterView<?> arg0) { } }; }
推荐阅读
-
android列表控件实现展开、收缩功能
-
android之视频播放系统VideoView和自定义VideoView控件的应用
-
Android自定义控件之圆形、圆角ImageView
-
Android开发之ListView功能扩展,实现高性能的瀑布流布局讲解
-
Android开发实现ListView和adapter配合显示图片和文字列表功能示例
-
Android利用listview控件操作SQLite数据库实例
-
Android列表组件ListView使用详解之隐藏滚动条
-
Android通过LIstView显示文件列表的两种方法介绍
-
Android中Spinner控件之键值对用法实例分析
-
Android中使用listview实现qq/微信好友列表