android 开发-ListView列表显示控件的实现

列表的显示需要三个元素:

1.ListVeiw 用来展示列表的View。

2.适配器 用来把数据映射到ListView上的中介。

3.数据    具体的将被映射的字符串,图片,或者基本组件。

根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter

  UI:

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context=".MainActivity" >
10
11     <ListView
12         android:id="@+id/listView1"
13         android:layout_width="match_parent"
14         android:layout_height="wrap_content"
15         android:layout_alignParentLeft="true"
16         android:layout_marginLeft="26dp" >
17
18     </ListView>
19
20 </RelativeLayout>

ListView

  Activity:

  

 1 package com.example.android_listview;
 2
 3 import java.util.ArrayList;
 4 import java.util.List;
 5
 6 import android.app.Activity;
 7 import android.os.Bundle;
 8 import android.view.Menu;
 9 import android.view.View;
10 import android.widget.AdapterView;
11 import android.widget.AdapterView.OnItemClickListener;
12 import android.widget.ArrayAdapter;
13 import android.widget.ListView;
14 import android.widget.Toast;
15 /**
16  * @author xiaowu
17  * NOTE:ListView的使用
18  */
19 public class MainActivity extends Activity {
20     private ListView listView ;
21     private ArrayAdapter<String> arrayAdapter ;
22     @Override
23     protected void onCreate(Bundle savedInstanceState) {
24         super.onCreate(savedInstanceState);
25         setContentView(R.layout.activity_main);
26         listView = (ListView) findViewById(R.id.listView1);
27         /*
28          * 设置listView的选中模式
29          *     多选:CHOICE_MODE_MULTIPLE
30          *     无   :CHOICE_MODE_NONE
31          *     单选:CHOICE_MODE_SINGLE
32          * 设置选中模式的时候需要注意修改ArrayAdapter数组适配器的显示样式
33          */
34         listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
35         arrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_single_choice, getData());
36         //为listView注册适配器,如果适配器需要跟新数据的情况下,需要使用notifyDataSetChanged()方法更新UI展示信息,(一旦适配器有数据,直接通知UI更新)
37         listView.setAdapter(arrayAdapter);
38         //注册点击选事件
39         listView.setOnItemClickListener(new OnItemClickListener() {
40             @Override
41             public void onItemClick(AdapterView<?> parent, View view,
42                     int position, long id) {
43                 // TODO Auto-generated method stub
44                 Toast.makeText(MainActivity.this, "选择"+arrayAdapter.getItem(position), 0).show();
45             }
46         });
47     }
48     public List<String> getData(){
49         List<String> list = new ArrayList<String>();
50         for(int i = 0 ; i<30 ; i++){
51             list.add("hw"+i);
52         }
53         return list ;
54     }
55     @Override
56     public boolean onCreateOptionsMenu(Menu menu) {
57         // Inflate the menu; this adds items to the action bar if it is present.
58         getMenuInflater().inflate(R.menu.main, menu);
59         return true;
60     }
61
62 }
时间: 2024-10-11 13:00:08

android 开发-ListView列表显示控件的实现的相关文章

Android开发之基本控件和详解四种布局方式

Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方式Android和iOS还是区别挺大的,在iOS中有Frame绝对布局和AutoLayout相对布局.而在Android中的布局方式就比较丰富了,今天博客中会介绍四种常用的布局方式.先总结一下控件,然后再搞一搞基本方式,开发环境还是用的Mac下的Android Studio.开始今天的正题, 虽然A

Android开发之常用控件的使用

1.日期选择控件 DatePickerDialog 代码: 1 btnChooseDate=(Button) findViewById(R.id.btnChooseDate); 2 btnChooseDate.setOnClickListener(new OnClickListener() { 3 4 @Override 5 public void onClick(View v) { 6 // TODO Auto-generated method stub 7 new DatePickerDia

android开发 获取父控件的高宽

@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); //获取SingleTouchView所在父布局的中心点 ViewGroup mViewGroup = (ViewGroup) getParent(); if(null != mViewGroup){ mParentWidth

Android ListView列表控件的简单使用

ListView 列表是我们经常会使用的控件, 如果想要自定义里面的显示的话是挺麻烦的, 需要新建XML.Class SimpleAdapter这两个文件, 较为麻烦. 如果我们只是想显示两.三行文字在上面, 却又不想那么麻烦呢? 那我们只要新建一个XML就够了.  这里以显示一个ListView项里三个TextView为例.  首先我们要创建一个XML文件, 这个XML文件是用来作为单个ListView项布局用的.  list_row.xml[java]<?xml version="1.

Android中的基本控件(下,章节摘要)

1,如果用户在一个屏幕上添加了多个组件,则可以使用ScrollView进行包装实现滚动的效果,但是ScrollView组件只能对一个组件进行包装. 2,ListView可以实现数据的列表显示,可以通过SimpleAdapter类实现数据的封装. 3,对话框可以进行信息的提示,用户可以使用系统定义的对话框显示,也可以通过布局管理器定义自己的对话框显示布局. 4,AutoCompleteTextView组件可以实现随笔提示功能. 5,SeekBar可以进行拖动条的实现,用户可以使用OnSeekBar

Android常用酷炫控件(开源项目)github地址汇总

转载一个很牛逼的控件收集贴... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style 等等. 一.ListView android-pulltorefresh一个强大的拉动

Android UI布局与控件(二)

一.View类的常用xml属性:[了解] ①.Android中所有的UI(用户界面)元素都是使用View和ViewGroup对象建立的 ②.View是一个可以将一些信息绘制在屏幕上并与用户产生交互的对象 ③.ViewGroup是一个包含多个的View和ViewGroup的容器,用来定义UI布局. ④.Android提供了一系列的View和ViewGroup的子类,开发者可以灵活地组合使用它们来完成界面布 局.界 面元素绘制和用户交互等工作 ⑤.开发者还可以选择性地继承一些系统提供的View,来自

Android自定义控件之日历控件

Android自定义控件之日历控件 2015-10-23 Android开发中文站 三月份学习android,至今也有半年有余,中间也做过两个项目,但是依然感觉自己做的应用不是很有新意,比不上应用市场上那些应用如此绚丽.所以自己仍需继续努力.学习至今,仍感觉自定义控件是一块硬骨头,还没修炼到身后的内功,下面就切入正题,以一次项目的需求,来实现一个自定义的日历控件.效果图先来一发. 我们分析下效果图,然后确定我们的需求. (1).绘制星期的自定义View,用于标识日期的礼拜. (2).绘制日期的自

Android 性能优化——之控件的优化

Android 性能优化——之控件的优化 前面讲了图像的优化,接下来分享一下控件的性能优化,这里主要是面向自定义View的优化. 1.首先先说一下我们在自定义View中可能会犯的3个错误: 1)Useless calls to onDraw():我们知道调用View.invalidate()会触发View的重绘,有两个原则需要遵守,第1个是仅仅在View的内容发生改变的时候才去触发invalidate方法, 第2个是尽量使用ClipRect等方法来提高绘制的性能. 2)Useless pixel