Android中ListView用法实例分析
作者:马到成功 发布时间:2022-04-08 17:11:29
标签:Android,ListView
本文实例分析了Android中ListView用法。分享给大家供大家参考,具体如下:
通过在Layout中添加ListView Widget可以达到在页面布局具有列表效果的交互页面。在这里通过举例来说明怎样在Layout中添加ListView以及怎样应用。
配合设计了两个事件Listener: OnItemSelectedListener事件为鼠标的滚轮转动时所选择的值;OnItemClickListener事件则为当鼠标单击时,所触发的事件。由此可以区别出list中的“选择”与“单击”差异。
使用ArrayAdapter(Context context, int textViewResourceId , T[] objects)这个构造器,其中textViewResourceId是定义在“res/layout/my_simple_list_item.xml”里的资源ResourceID(R.layout.my_simple_list_item),里面使用CheckedTextView来取得ListView中选择的项目。
程序中使用了LinearLayout对象,动态地将TextView与ListView附加进原有的Layout布局当中。用LinearLayout.LayoutParams来创建对象param1,再调用LinearLayout的addView方法将TextView和ListView以及params对象传入。
程序如下所示:
public class A07Activity extends Activity {
private static final String[]week="sunday","monday","tuesday","wednesday","thursday","friday","saturday"};
private TextView tv;
private ListView lv;
private ArrayAdapter<String> aa;
private LinearLayout ll;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
tv=new TextView(this);
tv.setText(R.string.title);
tv.setTextColor(Color.RED);
lv=new ListView(this);
lv.setBackgroundColor(Color.GREEN);
ll=new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
ll.setBackgroundColor(android.graphics.Color.YELLOW);
aa=new ArrayAdapter<String>(A07Activity.this,R.layout.my_simple_list,week);
lv.setAdapter(aa);
LinearLayout.LayoutParams params01=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
ll.addView(lv, params01);
LinearLayout.LayoutParams params02=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
ll.addView(tv, params02);
setContentView(ll);
lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
tv.setText("你选择的是:"+arg0.getSelectedItem().toString());
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
tv.setText("你选择的是:"+week[arg2]);
}
});
}
}
res/layout/my_simple_list.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myCheckedTextView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
/>
希望本文所述对大家Android程序设计有所帮助。


猜你喜欢
- ListView在实际实用中,一般都会有下新刷新和上拉加载的动态效果,今天要学的就是如何自定义带下拉刷新的ListView。原理解析:一般将
- 本文实例为大家分享了Unity实现俄罗斯方块第3部分,供大家参考,具体内容如下解决穿透问题逻辑部分1、在物体进行移动的过程中更新格子的信息,
- 一、Filter(过滤器)Filter接口定义在javax.servlet包中,是Servlet规范定义的,作用于Request/Respo
- 什么是数组数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每
- 从网上收集后自己写的一个方法;1.首先是一个根据分辨率压缩的类,首先对图片进行一次压缩 /** * 根据分辨率压缩图
- 一、对AOP的初印象首先先给出一段比较专业的术语(来自百度):在软件业,AOP为Aspect Oriented Programming的缩写
- 无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Java Archive,即j
- 本文实例为大家分享了Java代码对HDFS进行增删改查操作的具体代码,供大家参考,具体内容如下import java.io.File;imp
- 前言:Guarded Suspension意为保护暂停,其核心思想是仅当服务进程准备好时,才提供服务。设想一种场景,服务器可能会在很短时间内
- 在.NET FrameWork中有多个Timer,那么怎么根据实际情况进行选择确实是一个问题。总体而言,计时器共有以下四种:多线程计时器:1
- 在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的:责任链模式是一种对象的行为
- 项目背景我们开发过程中会碰到这样一类问题,就是数据层或三方接口返回的Bean对象需要转换重新装换一下我们需要的对象。我们通常的做法就是通过g
- 修改JSP,刷新一下JSP结果就报错,错误如下:严重: Servlet.service() for servlet jsp threw ex
- 我们主要介绍一下:java中如何通过最简单的方式实现链式创建json对象,解决创建json代码臃肿的问题。1、假设我们要创建一个json对象
- 一、题目给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值
- 1.什么是mybatis动态sql看到动态,我们就应该想到,这是一个可以变化的sql语句MyBatis的动态SQL是基于OGNL表达式的,它
- 一般来说一个 HTML 文档有很多标签,比如“<html>”、“<body>”、“<table>”等,想
- android开发中有时候碰到切换语言的需求,这时候需要通过代码动态改变当前运行语言。package com.example.android
- 前言有时候我们开发时会发现有些方法调用非常多,但它的默认的调用方法却要传很多参数进去而且还得记得调用具体的写法,比如Toast,不止要调用m
- 在任何的生产环境中我们都不可逃避并发这个问题,多线程作为并发问题的技术支持让我们不得不去了解。这一块知识就像一个大蛋糕一样等着我们去分享,抱