展会信息港展会大全

Android 控件 ListView 用法
来源:互联网   发布日期:2015-11-26 13:59:48   浏览:1051次  

导读:示例代码:这是一个读取联系人的代码:[java]package com.ui.domain;椀洀瀀漀爀琀 java.util.ArrayList;椀洀瀀漀爀琀 java.u...

示例代码:

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

[java]

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;

}

}

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 适配器,里面可以直接实现接口,或者写个类,实现[java] view plaincopyprint?ListAdapter

ListAdapter这个接口

[java]

?listView.setAdapter

listView.setAdapter

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

接口中有个方法:

[java]

@Override

public Object getItem(int paramInt) {

// TODO Auto-generated method stub

return dataList.get(paramInt);

}

@Override

public Object getItem(int paramInt) {

// TODO Auto-generated method stub

return dataList.get(paramInt);

}

return 就是 返回list的数据

paramInt 这是索引号

直接取list.get(索引)

这样就可以了

还要实现上述的几个方法

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

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港