Android控件ListView用法(读取联系人示例代码)

示例代码:

这是一个读取联系人的代码:

复制代码 代码如下:

package com.ui.domain;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.database.Cursor;

import android.database.DataSetObserver;

import android.graphics.Color;

import android.os.Bundle;

import android.provider.ContactsContract;

import android.util.Log;

import android.view.Menu;

import android.view.View;

import android.view.ViewGroup;

import android.widget.EditText;

import android.widget.ListAdapter;

import android.widget.ListView;

public class CallPhone extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.call_phone);

//联系人列表

final List<String> dataList=new ArrayList<String>();

// 获得所有的联系人

Cursor cur = getContentResolver().query(

ContactsContract.Contacts.CONTENT_URI,

null,

null,

null,

ContactsContract.Contacts.DISPLAY_NAME

+ " COLLATE LOCALIZED ASC");

while (cur.moveToNext()) {

int idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID);

int displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);

String phoneNumber=cur.getString(1);

String disPlayName = cur.getString(displayNameColumn);

dataList.add(disPlayName+":"+phoneNumber);

Log.i("联系人名称:", disPlayName);

}

cur.close();//关闭游标

ListView listView=(ListView)findViewById(R.id.listView1);

listView.setAdapter(new ListAdapter() {

@Override

public void unregisterDataSetObserver(DataSetObserver paramDataSetObserver) {

// TODO Auto-generated method stub

}

@Override

public void registerDataSetObserver(DataSetObserver paramDataSetObserver) {

// TODO Auto-generated method stub

}

@Override

public boolean isEmpty() {

// TODO Auto-generated method stub

return false;

}

@Override

public boolean hasStableIds() {

// TODO Auto-generated method stub

return false;

}

@Override

public int getViewTypeCount() {

// TODO Auto-generated method stub

return dataList.size();

}

@Override

public View getView(int paramInt, View paramView, ViewGroup paramViewGroup) {

// TODO Auto-generated method stub

EditText text=new EditText(CallPhone.this);

text.setBackgroundColor(Color.WHITE);

text.setText(dataList.get(paramInt));

return text;

}

@Override

public int getItemViewType(int paramInt) {

// TODO Auto-generated method stub

return 0;

}

@Override

public long getItemId(int paramInt) {

// TODO Auto-generated method stub

return 0;

}

@Override

public Object getItem(int paramInt) {

// TODO Auto-generated method stub

return dataList.get(paramInt);

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return dataList.size();

}

@Override

public boolean isEnabled(int paramInt) {

// TODO Auto-generated method stub

return false;

}

@Override

public boolean areAllItemsEnabled() {

// TODO Auto-generated method stub

return false;

}

});

}

@Override

protected void onDestroy() {

// TODO Auto-generated method stub

super.onDestroy();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// TODO Auto-generated method stub

getMenuInflater().inflate(R.menu.call_phone, menu);

return true;

}

}

这个listView有个setAdapter 适配器,里面可以直接实现接口,或者写个类,实现

复制代码 代码如下:

ListAdapter

这个接口

复制代码 代码如下:

listView.setAdapter

在定义一个list 集合 泛型为String

接口中有个方法:

复制代码 代码如下:

@Override

public Object getItem(int paramInt) {

// TODO Auto-generated method stub

return dataList.get(paramInt);

}

return 就是 返回list的数据

paramInt 这是索引号

直接取list.get(索引)

这样就可以了

还要实现上述的几个方法

注意,如果list!>1 就会报错

时间: 2024-07-31 15:25:11

Android控件ListView用法(读取联系人示例代码)的相关文章

Android控件ListView用法(读取联系人示例代码)_Android

示例代码: 这是一个读取联系人的代码: 复制代码 代码如下: package com.ui.domain; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.database.Cursor; import android.database.DataSetObserver; import android.graphics.Color; import andro

Android控件ListView使用方法详解

Android控件ListView使用方法介绍,具体如下 一.ListView的简单用法 首先新建一个ListViewTest项目,并让Android Studio自动创建好活动.然后修改activity_main.xml中的代码,如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/re

Android控件动态用法实例分析_Android

本文实例讲述了Android控件动态用法.分享给大家供大家参考.具体如下: 通常android里的界面布局都是在XML里设定好的 也就是说 在程序中,不能更改界面上的元素数量等, 比如聊天会话界面 当有人发言就要增加一个TextView,这就是动态增加控件,这就不能在XML里事先布局了! 不过还好,ANDROID使用控件也不是只有XML这一种方式 以下代码就是动态生产控件的JAVA程序 package com.fetion.android; import android.app.Activity

Android控件动态用法实例分析

本文实例讲述了Android控件动态用法.分享给大家供大家参考.具体如下: 通常android里的界面布局都是在XML里设定好的 也就是说 在程序中,不能更改界面上的元素数量等, 比如聊天会话界面 当有人发言就要增加一个TextView,这就是动态增加控件,这就不能在XML里事先布局了! 不过还好,ANDROID使用控件也不是只有XML这一种方式 以下代码就是动态生产控件的JAVA程序 package com.fetion.android; import android.app.Activity

最常用和最难用的Android控件ListView

ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕. 1. ListView的简单用法 首先新建一个ListViewTest项目,然后修改activity_main.xml代码. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" and

JS控件ASP.NET的treeview控件全选或者取消(示例代码)_javascript技巧

复制代码 代码如下: <script language="javascript">   /*   函数名称:CheckNode(currentNode).ParentNode(currentNode).ChildNode(currentNode)   函数功能:实现带checkbox的treeview中   1.选中父结点其子结点也全部选中   2.取消全部子结点的选择后,父结点的选择也随之取消   使用方法:1.在<head></head>中间添加

Android控件之ListView用法实例详解_Android

本文实例讲述了Android控件之ListView用法.分享给大家供大家参考.具体如下: 示例一: 在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示. main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/LinearLayout01" androi

很赞的引导界面效果Android控件ImageSwitcher实现_Android

本文实例为大家分享了Android控件ImageSwitcher实现引导界面的代码,供大家参考,具体内容如下 效果图: 布局代码: <?xml version="1.0" encoding="UTF-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent&

很赞的引导界面效果Android控件ImageSwitcher实现

本文实例为大家分享了Android控件ImageSwitcher实现引导界面的代码,供大家参考,具体内容如下 效果图: 布局代码: <?xml version="1.0" encoding="UTF-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent&