Android中ListView实现展示列表数据

Android毕设项目功能:商城列表与购物车展示(一) 最近应公司要求,到某大学进行毕设项目实训讲解,今天在课上讲解内容主要围绕在商城功能展开,因为没有服务器提供后台数据,所以使用虚拟数据,在代码中创建集合的用于展示。基本逻辑与后台服务提供数据的逻辑也相似。毕设中有需要相同功能的同学可以借鉴一下,以下的逻辑思路与实现代码。 代码实现效果图如下: 需求分析: 展示效果为四个界面,界面间都是通过前一个点击相关内容,跳转显示,故在此功能中应该需... 阅读详情

1、在activity_main.xml中添加一个ListView

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >

	<ListView android:layout_width="match_parent"
	    android:layout_height="wrap_content"
	    android:id="@+id/lvList">
	</ListView>
</LinearLayout>

2、新建一个layout文件用来作为list的一行格式文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    tools:context="${relativePackage}.${activityClass}" >
<!-- dip指的是像素,sp指的是字体大小 -->
    <TextView
        android:id="@+id/tvId"
        android:layout_width="30dip"
        android:layout_height="wrap_content"
        android:textSize="25sp"
        android:gravity="left"
         />

    <TextView
        android:id="@+id/tvName"
        android:textSize="25sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        />

    <TextView
        android:id="@+id/tvAge"
        android:textSize="25sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
         />

</LinearLayout>
3、
package com.zlz.androidxml;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

import com.zlz.androidxml.domain.Person;
import com.zlz.androidxml.service.ParseService;
import com.zlz.androidxml.service.PullParseServiceImpl;
import com.zlz.androidxml.service.SaxParseServiceImpl;

public class MainActivity extends Activity implements OnClickListener {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		findViewById(R.id.btnPull).setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		List<Person> persons = new ArrayList<Person>();
		for(int i =1;i<4;i++){
Person person = new Person();
person.id = i;
person.name = "lizhi"+i;
person.age = 12+i;
persons.add(person);
}
		popListView(persons);
	}

	//将List放到一个grid里面展示
	private void popListView(List<Person> persons) {
		List<Map<String, Object>> ls = new ArrayList<Map<String, Object>>();
		Map<String, Object> map = null;
		//需要将对象封装为一个map的集合
		for (Person p : persons) {
			map = new HashMap<String, Object>();
			map.put("id", p.id);
			map.put("name", p.name);
			map.put("age", p.age);
			ls.add(map);
		}
		//使用标签ListView存放
		ListView lvList = (ListView) findViewById(R.id.lvList);
		//将list中每个对象虚拟为一个Item,然后再存入Grid中的每一行,listitemlayout就相当于一个item
		ListAdapter adapter = new SimpleAdapter(this, ls, R.layout.listitemlayout,
				new String[] {"id","name","age"}, new int[] {R.id.tvId,R.id.tvName,R.id.tvAge});
		lvList.setAdapter(adapter);
	}
}

将文件放在TableLayout中

1、在activity_main.xml中添加Table_layout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         android:orientation="horizontal"
        tools:context="${relativePackage}.${activityClass}" >


        <Button
            android:id="@+id/btnPull"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Pull" />
    </LinearLayout>
<!--strechColumns 保证列平分-->
   <TableLayout
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:stretchColumns="0,1,2"
		android:id="@+id/tlLayout"
		>
		<TableRow>
			<TextView
				android:layout_width="fill_parent"
				android:layout_height="wrap_content"
				android:text="ID"
				/>
			<TextView
				android:layout_width="fill_parent"
				android:layout_height="wrap_content"
				android:text="NAME"
				/>
			<TextView
				android:layout_width="fill_parent"
				android:layout_height="wrap_content"
				android:text="AGE"
				/>
		</TableRow>
	</TableLayout>
</LinearLayout>

2、在MainActivity中循环创建Row然后添加到Table上

</pre><pre name="code" class="java">package com.zlz.androidxml;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

import com.zlz.androidxml.domain.Person;

public class MainActivity extends Activity implements OnClickListener {

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

		findViewById(R.id.btnSax).setOnClickListener(this);
		findViewById(R.id.btnDom).setOnClickListener(this);
		findViewById(R.id.btnPull).setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		List<Person> persons = new ArrayList<Person>();
		for(int i =1;i<4;i++){
			Person person = new Person();
			person.id = i;
			person.name = "lizhi"+i;
			person.age = 12+i;
			persons.add(person);
		}
		//获取TableLayout
		TableLayout tl = (TableLayout) findViewById(R.id.tlLayout);
int childrenCount = tl.getChildCount();
// 防止每次查询重复添加,所以每次拼装为table时,除了表头,其他的全部干掉
for (int i = childrenCount - 1; i > 0; i--) {
View view = tl.getChildAt(i);
tl.removeView(view);
}
while (cursor.moveToNext()) {
TableRow row = new TableRow(this);
TextView idView = new TextView(this);
idView.setText(cursor.getString(cursor.getColumnIndex("id")));
row.addView(idView);
TextView nameView = new TextView(this);
nameView.setText(cursor.getString(cursor.getColumnIndex("name")));
row.addView(nameView);
TextView ageView = new TextView(this);
ageView.setText(cursor.getString(cursor.getColumnIndex("age")));
row.addView(ageView);
// 将每一行添加到table上
tl.addView(row);
}

		
	}

}



Amesim基础篇-热仿真常用模型库-Thermal Hydraulic /Resistance 流体库、管路库在热管理中是必备模块,如动力电池液冷循环系统均需要Thermal Hydraulic /Resistance库的元件建模。 阅读详情

相关推荐

AD9176 双通道高速DAC调试记录

AD9176是一款高性能双通道16位数模转换器,支持高达12.6GSPS采样率,专为多频段无线应用设计。该器件集成8通道15.4Gbps JESD204B接口,支持复数/实数数据输入,每通道最大输入速率达3.08GSPS。关键特性包括:48位高精度NCO、灵活的插值滤波器(最高12倍)、优异的动态性能(SFDR达-83dBc@1.84GHz)以及多芯片同步功能。硬件调试需重点关注时钟配置(建议250M基准时钟)、JESD参数匹配及交流耦合设计。测试指标要求SFDR>55dBc@312MHz,实测值可达65d

universaldata的博客 1489

Android开发详解之ListView详解一

列表ListView介绍和实例  1.ListView  -- ListActivity -- ListAdapter  2.ArrayAdapter结合ListView进行显示  3.SimpleAdapter结合ListView进行显示  4.处理单击ListView事件,处理选择ListView的事件  5.使用SimpleCursorAdapter与ListView进行关

逍遥飞鹤的专栏 1473

《湖科大教书匠计算机网络》学习笔记总目录+思维导图

本篇文章是对《湖科大教书匠计算机网络》所有知识点的笔记总结归档和计算机网络的思维导图

weixin_73077810的博客 8223

android:listview显示table效果,并有固定不动的表头(手把手教你,详细)不重写listview类,可复制到eclipse中进行运行

1.制定一条线在styles.xml中添加如下代码                                  //垂直的直线         1dp         fill_parent         #dadada     2.创建表头test1.xml布局文件 http://schemas.android.com/apk/res/android"     an

whs19910204648688的专栏 6993

鸿蒙平板PC应用开发:在termux中安装ubuntu

打开AVNC点击右上角的设置图标,然后点击 输入 , 点击手势栏目中的 单指轻扫 ,选择滚动远程内容

DMZDAMS的博客 5197

HDMI2.1接口保护指南:从浪涌损坏案例看RK3588板子的ESD设计要点

本文深入探讨了HDMI2.1接口在RK3588板子上的ESD防护设计要点,通过真实案例分析了浪涌损坏的原因及解决方案。重点介绍了TMDS信号链路的四级防护体系、TVS管选型误区以及连接器与PCB的协同设计策略,帮助工程师有效避免静电放电导致的HDMI无输出故障。

weixin_29305337的博客 446

Android采用ListView实现数据列表显示

(1)、首先设计界面,使用上面一个数据库项目,将数据库中的所有数据用ListView显示在屏幕上:新建一个布局文件item.xml        android:layout_width="120dp"        android:layout_height="wrap_content"        android:id="@+id/name"        />       

有爱 有颜~ 1万+

GeoServer下载与安装(详细图文教程)

GeoServer官方版可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。

大剑师兰特的GIS世界 3274

Android——使用ListView显示信息列表

1.理解ListView的基础使用 (1).作用:Android系统中显示列表的控件 2.两种适配器      ArrayAdapter     SimpleAdapter (1).数据适配器 作用:把复杂的数据(数组,链表,数据库,集合等)填充在指定视图界面上,是连接数据源和视图界面的桥梁。 (2).ArrayAdapter(数组适配器):用于绑定格式单一的数据

Emrys的博客 1万+

CKS-CN考试之路----03

这题不需要去生成image和生成deployment所以只需要去检测对应的值即可。编辑/cks/docker/Dockerfile,修改最后第二行的值。编辑/cks/docker/deployment.yaml。

Q先生 824

基于STM32L4XX 、HAL库的TMC2226-SA-T步进电机驱动器驱动程序应用设计

集成的功率MOSFET可处理高达2A RMS的电机电流,并具备保护与诊断功能,确保运行稳健可靠。作为业界最先进的STEP/DIR步进电机驱动系列,该芯片通过升级设计实现无噪音、高精度运行,为用户提供高性价比且极具竞争力的解决方案。// 用于PDN_UART单线通信。// HAL_UART_Transmit - 注意PDN_UART是单线,收发共线。.huart = &huart1, // PDN_UART连接的USART。均方根步进/方向控制接口,提供8、16、32或64微步针设置,

PP_Cottage的博客 621

Android实现ListView显示信息,点击每个item,跳转到相应界面

界面如下:(做这个目的仅仅是为了学习一点小知识,因为自己才刚开始) 实现的方法比较简单,就是定义一个ListView,然后设置监听,ListView对每个条目的监听是setOnItemClickListener。onItemClick(AdapterView parent, View view, int position, long id)这段代码中,

小马的博客 7万+

地图自定义编码CSV转换成ini文件

创 建 schema.ini 文件:有时,当您尝试使用 .csv 文件将自定义地理信息导入 Tableau 时,您可能会看到“无法使用.csv,因为它不包含唯一列”错误消息。这是因为您的 .csv 文件可能包含数值数据,例如数值邮政编码。对于新的地理角色,Tableau 将只接受文本字段。但是,您可以创建一个 schema.ini 文件,以指示 Tableau 应将您要导入的数值字段视为文本字段。...

wenyusuran的专栏 1975

android xml 列表展示,Android中ListView实现展示列表数据

1、在activity_main.xml中添加一个ListViewxmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"tools:context="${rel...

weixin_33443972的博客 623

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

九、android的ListView实现数据列表展示

基于上一篇第八节的数据库操作为基础,对数据库中的内容在android界面上进行列表展示 1、工程结构: 列表显示示意图: 列表显示效果图: 2、界面的列表展示配置文件 item.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" andr

学习笔记 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Android上实现一个简单的天气预报APP(九) ListView展示城市列表、单击更新天气数据

前面我们已经可以点击选择城市按钮,切入选择城市布局。接下来我们要在城市布局中添加一个ListView组件,加载城市列表。 1)添加ListView组件 1.在布局文件select_city.xml中新增一个ListView组件 select_city.xml 2.在java文件中定义ListView变量,并与该组件绑定,并加载ListView内容。 运行一下!

赞美月亮的专栏 9549

ListView 实现数据列表

ListView 实现后台数据在手机上的列表显示。     我们先看一下效果图吧。因为我没有加任何的样式,所以看起来回比较丑一点,大家就将就一下,看功能吧!     效果图:     这是运行成功的显示结果。下面我们来看代码实现。 1.首先是创建项目这个我就不多说了。 2.在layout 文件夹中创建xml文件,这里为list.xml,代码: <LinearLayo

软测之路 1479

android listview实现新闻列表展示效果

这篇文章主要为大家详细介绍了android listview实现新闻列表展示效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了android listview列表展示效果的具体代码,供大家参考,具体内容如下 1.封装一些新闻数据  2.使用listview展示出来  3.设置条目点击事件,点击后跳转浏览器查看新闻 package c

普羅●米修斯 ——— HelloWorld 1万+

用安卓控件ListView写一个简单的学生列表

一.思路与效果图 思路: ListView的应用 使用SimpAdapter创建ListVieiew 步骤: 1.使用ListView控件 2.创建条目(item)布局文件 3.数据(LIst<Map<String,Object>>类型)准备 4.创建SimpAdapter对象 5.ListView类型变量关联控件ListView控件 6.为ListView设置SimpAdapter 效果图: 二.右键新建ListView控件 *新建完成后的item_layout.xml代码块

weixin_45090657的博客 1684

android天气预报实训程序清单,Android上实现一个简单的天气预报APP(九) ListView展示城市列表、单击更新天气数据...

学习参考资源:https://www.gitbook.com/book/zhangqx/mini-weather/details前面我们已经可以点击选择城市按钮,切入选择城市布局。接下来我们要在城市布局中添加一个ListView组件,加载城市列表。1)添加ListView组件1.在布局文件select_city.xml中新增一个ListView组件 select_city.xml 2.在java文...

weixin_39611725的博客 324

[安卓] 16、ListView和GridView结合显示单元实现自定义列表显示效果

List在各种手机应用中都有体现,是安卓UI设计的必修课。 本文将介绍在开发中如何利用ListView和GridView设计自定义列表。 下面分别是用ListView和GridView做的效果: 上面两个看似相差很大,但是其代码非常类似,主要有: ① 在页面中嵌入ListView或GridView: ListView的activi...

weixin_34185364的博客 186

android 新闻功能列表,android listview实现新闻列表展示效果

本文实例为大家分享了android listview列表展示效果的具体代码,供大家参考,具体内容如下1.封装一些新闻数据2.使用listview展示出来3.设置条目点击事件,点击后跳转浏览器查看新闻package com.itheima74.newscustom.domain;import android.graphics.drawable.Drawable;/*** Created by My ...

weixin_39805720的博客 620

Android ListView好友列表展示

工程文件 https://download.youkuaiyun.com/download/qq_45688164/51976770 前端 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_.

qq_45688164的博客 2730

android studio 显示方法列表,Android studio listview实现列表数据显示 数据循环显示效果...

Android studio listview实现列表数据显示样式不好看!想要好看的样式可以私我,我加!item.xmlxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_h...

weixin_42150360的博客 1950
上一篇: Android中的数据库SQLite
下一篇: ContentProvider 内容提供者 共享数据
fight_zhi
博客等级 码龄14年 27粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值