Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 596|回复: 0

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

[复制链接]

该用户从未签到

发表于 2011-10-24 14:29:39 | 显示全部楼层 |阅读模式
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代码
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    androidrientation="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)        编写行的点击事件
java代码
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);

        }

}
复制代码项目源码已经上传到附件,有需要的可下载。
ProgressBar_ListView.rar (81.49 KB, 下载次数: 13)
回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:29:43 | 显示全部楼层

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

谢谢,讲解的相当详细
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:29:47 | 显示全部楼层

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

学习学习
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:29:50 | 显示全部楼层

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

先下载下来好好学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 10:57 , Processed in 0.380451 second(s), 45 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表