热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

listviewjava_Android入门之ListView(纯java)

importjava.util.*;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.Vi

0_13161483957QP0.gif 

0_1316148398e99N.gif 

0_1316148401Z3nC.gif

import java.util.*;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.*;

import android.widget.AdapterView.OnItemClickListener;

/*

* 本例展示了3种列表

* 1、主列表mainView:单字符串单行显示,simple_list_item_1,

* 2、子列表1,lv1:双字符串双行显示,simple_list_item_2

* 3、子列表2,lv2:自定义显示,多View

*/

public class ListViewTest extends Activity {

private ListView mainView=null;

private ListView myList1=null;

private ListView myList2=null;

private SimpleAdapter sa=null;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mainView_init();

setContentView(mainView);

}

/*mainView初始化*/

void mainView_init(){

mainView=new ListView(this);

mainView.setLayoutParams(new LinearLayout.LayoutParams(-1,-1));

//主列表是采用ArrayAdapter实现

String[] strList={"simple_list_item_2","自定义"};

ArrayAdapter aa=new ArrayAdapter(this,android.R.layout.simple_list_item_1,strList);

mainView.setAdapter(aa);

//绑定监听

mainView.setOnItemClickListener(new OnItemClickListener(){

public void onItemClick(AdapterView> arg0, View arg1, int index,long arg3) {

if(index==0){

if(myList1==null){

myList1_init();

}

setContentView(myList1);

}else if(index==1){

if(myList1==null){

myList2_init();

}

setContentView(myList2);

}

}

});

}

/*sa初始化*/

void sa_init(){

List> list=new ArrayList>();

Map item;

item=new HashMap();

item.put("姓名","张三同学");

item.put("性别","男");

list.add(item);

item=new HashMap();

item.put("姓名","李四同学");

item.put("性别","男");

list.add(item);

item=new HashMap();

item.put("姓名","小兰同学");

item.put("性别","女");

list.add(item);

//

String str[]={"姓名","性别"};

int id[]={android.R.id.text1,android.R.id.text2};//view由系统系统提供的

//

sa=new SimpleAdapter(this,list,android.R.layout.simple_list_item_2,str,id);

}

/*myList1初始化*/

void myList1_init(){

myList1=new ListView(this);

myList1.setLayoutParams(new LinearLayout.LayoutParams(-1,-1));

sa_init();

myList1.setAdapter(sa);

}

/*myList2初始化*/

void myList2_init(){

myList2=new ListView(this);

myList2.setLayoutParams(new LinearLayout.LayoutParams(-1,-1));

//自定义MyAapter,见下篇

MyAdapter ma=new MyAdapter(this);

myList2.setAdapter(ma);

}

}



推荐阅读
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • 本文介绍了Java中Currency类的getInstance()方法,该方法用于检索给定货币代码的该货币的实例。文章详细解释了方法的语法、参数、返回值和异常,并提供了一个示例程序来说明该方法的工作原理。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 今日份分享:Flutter自定义之旋转木马
    今日份分享:Flutter自定义之旋转木马-先上图,带你回到童年时光:效果分析子布局按照圆形顺序放置且平分角度子布局旋转、支持手势滑动旋转、快速滑动抬手继续旋转、自动旋转支持X轴旋 ... [详细]
  • android 触屏处理流程,android触摸事件处理流程 ? FOOKWOOD「建议收藏」
    android触屏处理流程,android触摸事件处理流程?FOOKWOOD「建议收藏」最近在工作中,经常需要处理触摸事件,但是有时候会出现一些奇怪的bug,比如有时候会检测不到A ... [详细]
  • 第一步:PyQt4Designer设计程序界面该部分设计类同VisvalStudio内的设计,改下各部件的objectName!设计 ... [详细]
author-avatar
accera_928
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有