`
byandby
  • 浏览: 1697299 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android常用控件(三)- ProgressBar、ListView

阅读更多
Android常用控件(三)- ProgressBar、ListView
一、 ProgressBar(进度条)的使用
示例1:一个应用程序有2个ProgressBar,让进度条显示进度。
开发步骤:
1、 新建一个android项目
2、 在main.xml布局文件中先添加1个ProgressBar控件(firstProgressBar),设置这个进度条是以水平方式展示的,然后再设置这个控件为不显示(这里暂时不显示,我们在后面的程序中写代码将这个控件设置为显示)
3、 在main.xml布局文件中再添加1个ProgressBar控件(secondProgressBar),设置该标签的显示样式为默认的(是一个转动的圆圈),然后再同样设置这个控件暂时为不显示
4、 在main.xml布局文件中再添加一个Button控件
5、 在Activity中编写代码,先获得这2个ProgressBar和Button对象
6、 然后编写一个监听器,设置进度条的进度,当每点击一次Button,进度则增加10
7、 将监听器绑定到Button对象上
下图为main.xml布局文件的片段:



Activity的代码在这里就没有贴出来了,项目源码已经上传,有需要的可以下载。
最后项目实现的效果为:



二、 ListView的使用
ListView的使用相对于之前使用到的一些控件而言要复杂一点,在这里呢,同样是通过一个示例来讲解,但是在这过程中,可能有些理解没有很准确或者注释的不是准确的地方,到时候有什么问题还请大家多多指点指点哦~
(如果各位E文比较好的可以去官网查看更详细的说明)
示例2:一个应用程序有一个ListView,显示三行信息。
最后项目实现的效果为:



开发步骤:
1、 新建一个Android应用程序
2、 在布局文件中再添加一个LinearLayout(应用程序新建的时候默认的布局文件里就已经有了一个LinearLayout,现在再添加一个),设置这个LinearLayout的一些属性。
3、 在LinearLayout中添加一个ListView,并设置一些属性。



4、 新建一个布局文件,这个布局文件呢,是用来布局和显示ListView里面的内容的(我是这样理解的,不知道大家能不能理解哈)。先在这个布局文件中添加一个LinearLayout,然后在LinearLayout中添加两个TextView,表示显示两列数据(如果需要显示多列数据的话当然就是添加多个TextView了)。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="1dip"
    android:paddingBottom="1dip"
    android:paddingLeft="10dip"
    android:paddingRight="10dip"
>
	<TextView
		android:id="@+id/user_name"
		android:layout_width="180dip"
		android:layout_height="30dip"
		android:textSize="10pt"
		android:singleLine="true"
	/>
	<TextView
		android:id="@+id/user_ip"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:textSize="10pt"
		android:gravity="right"
	/>
</LinearLayout>


5、 编写Activity
a) 首先要注意的是,这个Activity他继承的不是Activity,而是ListActivity。
b) 创建一个ArrayList,里面存放的是HashMap,而HashMap的键值对都是String类型。
c) 分别往3个HashMap中存储值
d) 将3个HashMap添加到ArrayList中
e) 创建适配器
f) 绑定到适配器
g) 编写行的点击事件
package android.listview;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;

//注意:这里继承的是ListActivity,而不是Activity
public class ListViewTest extends ListActivity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		// 创建一个ArrayList,ArrayList里面存放的是HashMap,而HashMap的键值对都是String类型
		ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
		HashMap<String, String> map1 = new HashMap<String, String>();
		HashMap<String, String> map2 = new HashMap<String, String>();
		HashMap<String, String> map3 = new HashMap<String, String>();
		// 分别往3个HashMap中存储值
		map1.put("user_name", "zhangsan");
		map1.put("user_ip", "192.168.0.1");
		map2.put("user_name", "lisi");
		map2.put("user_ip", "192.168.0.2");
		map3.put("user_name", "wangwu");
		map3.put("user_ip", "192.168.0.3");
		// 将3个HashMap添加到ArrayList中
		list.add(map1);
		list.add(map2);
		list.add(map3);
		//创建适配器
		//第一个参数Content:上下文
		//第二个参数List<? extends Map<String, ?>>:ArrayList对象,ArrayList里面存放的是HashMap,而HashMap的键值对都是String类型
		//第三个参数int resource:内容显示的布局文件
		//第四个参数String[] from:被添加到ArrayList中的HashMap中key的名称,要显示的列
		//第五个参数int[] to:内容显示的布局文件中,显示内容的控件id
		SimpleAdapter listAdapter = new SimpleAdapter(this, list,
				R.layout.user, new String[] { "user_name", "user_ip" },
				new int[] { R.id.user_name, R.id.user_ip });
		//绑定到适配器。
		setListAdapter(listAdapter);
	}

	/**
	 * 列表当中一行的点击事件
	 * ListView:ListView对象本身
	 * View:被选中的那一行的View对象
	 * position:被选中的那一行的位置
	 * id:被选中的那一行的id
	 */
	@Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
		// TODO Auto-generated method stub
		super.onListItemClick(l, v, position, id);
		//打印出被选中的那一行的位置和id,计数都是从0开始
		System.out.println("-------------"+position);
		System.out.println("-------------"+id);
	}
}



项目源码已经上传到附件,有需要的可下载。
  • 大小: 63.6 KB
  • 大小: 40.9 KB
  • 大小: 41.1 KB
  • 大小: 93.2 KB
  • 大小: 59.5 KB
  • 大小: 177 KB
5
0
分享到:
评论
3 楼 byandby 2011-12-29  
sunjiesh 写道
照着例子写了一下,发现报java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'异常,后来查了一下,发现只要把setContentView(R.layout.main);注释后就可以正常了。

参考:http://stackoverflow.com/questions/5086467/why-must-i-have-a-listview

2 楼 sunjiesh 2011-12-29  
照着例子写了一下,发现报java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'异常,后来查了一下,发现只要把setContentView(R.layout.main);注释后就可以正常了。

参考:http://stackoverflow.com/questions/5086467/why-must-i-have-a-listview
1 楼 byandby 2010-12-02  
BB 加油 。。

相关推荐

    Android---UI篇

    •Android---UI篇---Tab Layout(选项卡布局) • •Andorid---UI篇---TableLayout(表格布局) ...•Android---UI篇---ListView之SimpleCursorAdapter(列表)---3 • •Android---UI篇---Menu(菜单)

    android 常用控件布局汇总

    android 常用控件如:ProgressBar、ActionBar、Switch、ListView 、PopupWindow....等的用法,各种Style的写法以及自定义常用控件 android 五大布局的汇总及用法

    android常用控件大全讲解

    4. **Android控件**: - Button:用于点击交互,触发事件。 - TextView:显示文本信息,可以设置文字、颜色、大小等。 - EditText:编辑框,用于输入文本。 - ImageView:显示图片。 - CheckBox / RadioButton...

    Android-使ListView和RecyclerView更容易实现加载更多的功能

    在Android应用开发中,ListView和RecyclerView是两种常用的列表控件,用于展示大量数据。这两个组件在处理长列表时,为了优化性能,通常采用滚动加载更多数据的策略,以避免一次性加载过多内容导致内存消耗过大。本...

    android常用控件demo

    在这个项目中,开发者可能会遇到各种常见的Android控件及其用法。 1. **TextView**:TextView是最基本的显示文本的控件,用于展示静态信息。开发者可以设置文本内容、字体、颜色、大小等属性。 2. **EditText**:...

    android核心控件使用,button 、ListView、TextView

    本篇文章将详细讲解三个关键的核心控件:Button、ListView和TextView,以及它们在实际开发中的应用。 Button是Android中最基本的按钮控件,用于响应用户的点击事件。它不仅可以显示文本,还可以设置背景图像,通过...

    Android各种常用控件实例程序集合

    在Android开发中,掌握各种常用控件的使用是至关重要的,因为这些控件构成了用户界面的基础,直接影响到应用的交互性和用户体验。"Android各种常用控件实例程序集合"是一个宝贵的资源,它提供了丰富的实例,帮助...

    Android开发 - 常用控件

    这篇博客"Android开发 - 常用控件"可能详细介绍了Android开发中的一些核心控件及其使用方法。由于没有直接提供博客的具体内容,我将根据Android开发中常见的控件类型和相关知识点进行阐述。 1. **按钮(Button)**:...

    8Android常用UI控 8Android常用UI控件编程1-17-有源码.zip件编程1-17-有源码.zip

    这个资源包“8Android常用UI控件编程1-17-有源码.zip”似乎包含了17个关于Android UI控件编程的示例,每个示例都附带了源代码,这对于学习和理解Android UI设计非常有帮助。现在,我们将深入探讨这些常用控件及其...

    Android--简单的自定义ListView下拉刷新

    在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。然而,为了提供更好的用户体验,很多应用都会在ListView顶部添加下拉刷新的功能,使得用户可以轻松获取最新的数据。本篇文章将详细讲解如何在...

    android常用UI控件的使用例子

    这篇博文“android常用UI控件的使用例子”可能会深入探讨一些常见的Android UI组件及其用法,帮助开发者更好地理解和应用这些控件。由于没有具体的博文内容,我将根据一般知识和经验,详细介绍一些Android开发中的...

    Android常用控件(Version 0.1)-64位

    **Android控件**:Android系统提供了丰富的控件库,包括TextView(文本显示)、EditText(文本输入)、Button(按钮)、ImageView(图片显示)、RadioButton(单选按钮)、CheckBox(复选框)、Spinner(下拉列表)...

    android常用控件大全

    在Android开发中,掌握常用的控件以及如何合理利用它们是至关重要的。以下是对Android常用控件及相关的基础知识的详细说明: 1. **Android文件结构**: - `src`文件夹:包含项目的Java源代码,每个类对应一个`....

    Android 多种android控件的Demo-IT计算机-毕业设计.zip

    本项目“Android多种android控件的Demo”是一个毕业设计学习资源,旨在帮助开发者熟悉并掌握Android控件的应用。下面将对这个项目中的主要知识点进行详细讲解。 1. **布局管理器(Layouts)**: - **线性布局...

    Android控件大全以及各布局空间的使用方式

    Android控件是构建Android应用界面的基本组件,而布局则是这些控件的容器,它们定义了控件的排列方式和界面的结构。在Android开发中,对控件和布局的理解至关重要。接下来,将详细介绍Android控件大全及各布局空间的...

    OPHONE &android常用控件

    除了这些基本组件,OPhone和Android还有许多其他常用的控件: 1. ImageView:用于显示图像,可以设置图片资源或者加载网络图片。 2. ProgressBar:显示进度条,常用于表示一个操作的进度。 3. SurfaceView:提供一...

    android 常用控件使用方法示例大全(AndroidProject) .zip

    这个名为"AndroidProject"的项目库提供了大量示例代码,帮助开发者深入理解并熟练运用Android控件。以下是一些关键控件及其使用方法的详细说明: 1. **Button(按钮)**:Button是Android中最基本的交互元素,用于...

    listView中添加控制progressbar

    在Android开发中,ListView是一种常用的布局控件,用于展示可滚动的列表数据。在实际应用中,我们常常需要在ListView的每一项(Item)中加入进度条(ProgressBar),以显示某些任务的执行状态,比如数据加载、下载...

    android常用控件及布局.pdf

    Android 常用控件及布局 一、Android 控件体系 Android 控件体系可以分为三个类别:基本控件、布局和容器。这些控件主要分布在两个包中:android.view 提供抽象接口,而 android.widget 提供系统内置的大部分控件...

Global site tag (gtag.js) - Google Analytics