Android 之 ListView列表控件
程序员文章站
2022-05-16 23:33:46
...
[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 ListView列表控件的介绍和性能优化
-
Android控件系列之Shape使用方法
-
Android 布局控件之LinearLayout详细介绍
-
android开发实现列表控件滚动位置精确保存和恢复的方法(推荐)
-
[Asp.net之旅]--数据绑定控件之ListView
-
Android控件BottomSheet实现底边弹出选择列表
-
android开发之方形圆角listview代码分享
-
Android studio listview实现列表数据显示 数据循环显示效果
-
android BottomSheetDialog新控件解析实现知乎评论列表效果(实例代码)
-
Android自定义控件之可拖动控制的圆环控制条实例代码