我在达内学安卓-基于ArrayAdapter创建单一对象列表方式创建联系人列表!
学习安卓怎么学?从界面开始。到各种控件到四大金刚,再到各种不同的应用方法和应用方式,却是很容易把自己学晕,怎么办呢?
先理清思路,然后从控件一个一个的开始学起,自从来到达内学习,由于之前的理解都是面对过程对象编程,和现在学习的面对对象编程还是有很大的差别。头一个半月都开始很晕,第二个月后开始慢慢回顾过往的知识,现在慢慢慢慢的回归到正道。慢慢的开始理解了一些概念。
今天我们来探讨下,关于类似于电话通讯录的联系方式的最简单的实现方法,慢慢的用案例的方式来进行学习。
前期的布局我们就不多说了,因为确实不难,大家可以对着布局多练习练习就好了,接下来我们以一个案例来讲讲ArrayAdapter的用法。
在安卓的学习中,我觉得第一道门槛就是我们所说的各种Adapter,当时听老师说了之后,我就晕了好几天,但是关键点还是多练,这点是我们必须做的事情。
在做这个案例的时候我们先来分析ArrayAdapter 怎么工作的:
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.contactlist.MainActivity" >
<TextView
android:id="@+id/tv_contactList"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="#ffddffdd"
android:gravity="center|center"
android:text="通讯录列表" />
<!-- 这里因为注释规则,原因,我们把所有注释卸载下面 为表头设置控件ID名称 -->
<!-- 设定宽度与父空间相同 -->
<!-- 设置高度为40dp -->
<!-- 设置背景颜色为 #ffddffdd -->
<!-- 设置文本文字 -->
<!-- 设置文本控件对齐方式 -->
<ListView
android:id="@+id/lv_showContactList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tv_contactList"
>
</ListView>
<!-- 设置ID为lv_showContactList -->
<!-- 设置宽度为匹配父控件 -->
<!-- 设置高度匹配父控件 -->
<!-- 设置位于TextView下面 -->
</RelativeLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_item_show_format"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="姓名"
android:textSize="20sp"
/>
</LinearLayout>
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
//初始化contacts变量
private List<String> contacts;
//定义listview
private ListView lv_showContactList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//将标题栏从外部去除掉。可以直接从代码中去掉
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
//初始化我们的ListView
setViews();
//ListView 填充数据
InitDatasource();
//将contacts数据封装成格式化的数据,以我们定制的数据进行呈现,This代表当前页面,resource 引用相关的Resource,第三列是将数据格式与XML格式对应上,最后是数据源
ArrayAdapter<String> adapter =new ArrayAdapter<String>(this, R.layout.list_item_showtitle, R.id.tv_item_show_format, contacts);
//最后我们将数据显示同步到我们的ListView中,显示相对来说比较简单,采用setAdapter方法
lv_showContactList.setAdapter(adapter);
}
private void setViews() {
lv_showContactList=(ListView)findViewById(R.id.lv_showContactList);
}
private void InitDatasource() {
//在堆内存中创建出Arraylist对象,并且初始化相关的数据
contacts=new ArrayList<String>();
//填充数据
contacts.add("ammie");
contacts.add("anty");
contacts.add("bou");
contacts.add("betty");
contacts.add("cheman");
contacts.add("cindy");
contacts.add("dalas");
contacts.add("emma");
contacts.add("fancy");
contacts.add("gary");
contacts.add("hancy");
contacts.add("ivy");
contacts.add("imy");
contacts.add("jacy");
contacts.add("kancy");
contacts.add("lancy");
contacts.add("yancy");
contacts.add("zancy");
}
}
我在达内学安卓-基于ArrayAdapter创建单一对象列表方式创建联系人列表!相关推荐
- SharePoint 2010 创建联系人列表和使用联系人列表
SharePoint 2010 创建联系人列表和使用联系人列表 作为一款协同办公系统,联系人列表是必不可少的,SharePoint 2010里提供了"联系人列表模板",我们可以基于 ...
- java 对象创建过程_5种创建Java对象的方式
在本篇文章中,将介绍5种创建Java对象的方式.类是创建对象的基本模板,接下来将介绍5种不同的方式,利用Java类来实例化Java对象. 1. 使用new关键字 采用new关键字实例化对象是Jav ...
- Exchange2007中创建收件人对象、通讯组和地址列表和客户端访问
什么是收件人对象? 收件人在Exchange中被定义为具有发送或接收邮件能力的Active Directory对象 Exchange有3种收件人对象:用户.联系人.组 1.创建用户邮箱帐户 使用exc ...
- spring中bean的细节之三种创建Bean对象的方式
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- Spring框架----Spring的bean之三种创建bean对象的方式
第一种方式:使用默认构造函数创建 在spring中的配置文件中,使用bean标签,配以id和class属性之后,且没有其他标签时,采用的就是默认构造函数创建bean对象, 此时类中没有默认构造函数,则 ...
- python创建子类对象会先创建父类对象_Python练习,python,习题
代码判断 line2错 是因为too many values to unpack,这个错误.Python2可以改为a, b, c = raw_input(), raw_input(), raw_inp ...
- javaScript 对象添加属性和创建js对象的方式(以及理解:“无法给构造函数添加新的属性“)
1.javaScript 对象想要添加属性,非常简单 (1)直接添加,使用语法:objectName.propertyName 添加属性. 举例: var person = new Object(); ...
- JavaScript - 用对象的方式创建数组
<html><head><head><body><script language="javascript">// 用对象 ...
- 达梦数据库基于操作系统本机身份验证登录数据库
简单介绍 达梦数据库基于操作系统身份验证的登录方式类似Oracle的操作系统认证登录方式(/ as sysdba). 达梦数据库基于操作系统的身份验证分为本机验证和远程验证,本机验证需要将DM ...
最新文章
- 万字长文 | 23 个问题 TCP 疑难杂症全解析
- Permission denied 故障
- kiftd 1.0.15 正式发布,青阳网络文件传输系统
- python列表类型用什么表示_python内置类型:列表,包括 list 和 tuple
- hibernate之缓存
- 微软人工智能和对话平台--知识商城体验
- [2021.1.27多校省选模拟10]染色(min-max容斥/二项式反演)
- 【LeetCode笔记】543. 二叉树的直径(Java、dfs、二叉树)
- 任务计划、chkconfig工具、systemd管理服务、unit、target
- 说学习前端开发简单,如何才能成功上岸?
- C# 编译或者解释?
- Ubuntu 16.04 安装Matlab R2015b
- labview技巧——获取网络时间
- FMCW激光雷达科普(上):基本概念、技术路线、优势及争议和误解
- Cadence OrCAD Capture 查找功能详细介绍
- 固定table第一列
- B - ZJM要抵御宇宙射线
- WiFi共享精灵自身存在的优势
- 内核该怎么学?Linux进程管理工作原理(代码演示)
- Mac_图片压缩_pngquant