当前位置:  编程技术>移动开发

android ListView和ProgressBar(进度条控件)的使用方法

    来源: 互联网  发布时间:2014-10-21

    本文导语:  ListView控件的使用:ListView控件里面装的是一行一行的数据,一行中可能有多列,选中一行,则该行的几列都被选中,同时可以触发一个事件,这种控件在平时还是用得很多的。使用ListView时主要是要设置一个适配器,适配器主...

ListView控件的使用:
ListView控件里面装的是一行一行的数据,一行中可能有多列,选中一行,则该行的几列都被选中,同时可以触发一个事件,这种控件在平时还是用得很多的。
使用ListView时主要是要设置一个适配器,适配器主要是用来放置一些数据。使用起来稍微有些复杂,这里用的是android自带的SimpleAdapter,形式如下:
android.widget.SimpleAdapter.SimpleAdapter(Context context, List> data, int resource, String[] from, int[] to)
由此可以看出函数的第2个参数为一个list,该list里面存放的是一些hashmap,hashmap是一些映射,里面放的是键值对;第3个参数为1个布局文件,即适配器输出的布局;第4个参数为字符数组,数组的内容为参数list中map每列的列名;第5个参数为整型数组,其意思为第4个参数对应显示的值的格式,一般为控件。
因为第3个参数为1个布局文件,所以我们该工程中我们需要再单独添加一个xml文件。
同时我们要知道设置ListView的监听器是用onListItemClick()函数。
另外还需注意的是在java中定义数组类型并初始化时中间不需要等号,例如
new String[]{"user_name", "user_birthday"}。

这次实验的参考的是mars老师的资料.
ListView使用的显示效果如下:

每次选中一行时在后台会相应的输出该行的位置和id,依次选中这三行.

后台输出为:


 
实验代码如下:
MainActivity.java:

代码如下:

package com.example.control3;

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;

public class MainActivity extends ListActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);

   //建立一个ArrayList,ArrayList里面放的是Hash表
   ArrayList list = new ArrayList();
   HashMapmap1 = new HashMap();
   HashMapmap2 = new HashMap();
   HashMapmap3 = new HashMap();
   //给Hash表中填入键值对
   map1.put("user_name", "小红");
   map1.put("user_birthday", "2012_07_30");
   map2.put("user_name", "小明");
   map2.put("user_birthday", "2012_07_31");
   map3.put("user_name", "小冬");
   map3.put("user_birthday", "2012_08_01");
   list.add(map1);
   list.add(map2);
   list.add(map3);
   //在该activity中创建一个简单的适配器
   SimpleAdapter listAdapter = new SimpleAdapter(this, list,
   R.layout.activity_user, new String[]{
   "user_name", "user_birthday"}, new int[]
  {R.id.user_name, R.id.user_birthday});
   //载入简单适配器
   setListAdapter(listAdapter);
    }

    //ListView监听器响应函数
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
   // TODO Auto-generated method stub
   super.onListItemClick(l, v, position, id);
   System.out.println("id--------------------" +id);
   System.out.println("Position-------------" + position);
    }
}



activity_main.xml:
代码如下:


   
 
   



activity_user.xml:
代码如下:


   
   
   



 
ProgressBar控件的使用:
ProgressBar控件的使用比较简单,在android开发中,其默认的形式是1个圆周型的进度条,也就是代表一直在等待,这时候是看不到实际上完成的进度的。所以在程序中我们可以设置进度条的形状,比如呈水平或者垂直。界面中有1个按钮,一开始时是看不到进度条的,当按下按钮时,会弹出2个进度条,1个呈水平状,一个还是圆形。且这2个进度条出现在按钮的上面,为什么会这样呢?因为这个activity布局中,采用的是线性布局,而那2个进度条是放在button的前面,只是一开始没有设置显示出来而已。继续按进度条时,进度条会前进。且这里进度条显示分为主进度条显示和次进度条显示。

实验的结果如下:


MainActivity.java:
代码如下:

package com.example.control2;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;

public class MainActivity extends Activity {

    private int i = 0;
    private ProgressBar bar1 = null;
    private ProgressBar bar2 = null;
    private Button button = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   bar1 = (ProgressBar)findViewById(R.id.bar1);
   bar2 = (ProgressBar)findViewById(R.id.bar2);
   button = (Button)findViewById(R.id.btn);
   button.setOnClickListener(new MyButtonOnClickListener());

    }

    class MyButtonOnClickListener implements OnClickListener{

   public void onClick(View v) {
  if( 0 == i )
  {
 bar1.setVisibility(View.VISIBLE);
 bar2.setVisibility(View.VISIBLE);
  }
  else if( i < bar1.getMax() )
  {
 //设置主进度和次进度
 bar1.setProgress(i);
 bar1.setSecondaryProgress(i+10);
  }
  i+=10;
   }

    }
}



activity_main:
代码如下:

   
   
   
      



 总结:
通过这次实验,对ListView和ProgressBar这2个进度条的使用有了个初步的了解,其中ListView进度条的使用需要用的到适配器,而视频器的构造稍微有点复杂,需要对各个参数彻底的了解。

 作者:tornadomeet

    
 
 

您可能感兴趣的文章:

  • Android 上类似IOS 的开关控件。 Android ToggleButton
  • android控件之WebView控件缩小
  • Android控件之TextView的分析探究
  • 树形控件 android_treevew
  • android下显示歌词的控件 OpenLRC
  • Android 日历控件 TimesSquare
  • Android 聊天控件 Android-Chat-Widget
  • android开发教程之switch控件使用示例
  • Android 月视图控件 MonthView
  • Android控件之EditView常用属性及应用方法
  • Android顶栏控件 AStickyHeader
  • android开发教程之自定义控件checkbox的样式示例
  • Android中让图片自适应控件的大小的方法
  • Android UI开发 View自绘控件 分享
  • Android控件系列之Shape使用方法
  • Android 布局控件之LinearLayout详细介绍
  • android自定义控件和自定义回调函数步骤示例
  • Android控件之ToggleButton的使用方法
  • android自定义按钮示例(重写imagebutton控件实现图片按钮)
  • android控件封装 自己封装的dialog控件
  • android开发教程之android的handler使用方法
  • android WakeLock使用方法代码实例
  • android开发教程之系统资源的使用方法 android资源文件
  • Android RadioButton单选框的使用方法
  • Android中库项目的使用方法图文介绍
  • android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法
  • android之自定义Toast使用方法
  • android Textview文字监控(Textview使用方法)
  • android中DatePicker和TimePicker的使用方法详解
  • android Activity相对布局的使用方法
  • Android 自动化测试经验分享 UiObejct.getFromParent()的使用方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • android中ProgressDialog与ProgressBar的使用详解
  • 解析android中ProgressBar的用法
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍
  • Android 开发环境 Android Studio
  • IDEA的Android开发插件 idea-android
  • Android手机事件提醒 Android Notifier
  • XBMC的Android客户端 android-xbmcremote
  • Android小游戏 Android Shapes
  • Android电池监控 Android Battery Dog
  • android开发:“android:WindowTitle”没有对应项no resource
  • Android 上类似IOS 的开关控件。 Android ToggleButton iis7站长之家
  • Android 2D游戏引擎 Android Angle
  • Android的UI工具包 android-ui-utils


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3