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

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

概述示例代码:这是一个读取联系人的代码:复制代码代码如下:packagecom.ui.domain;importjava.util.ArrayList;importjava.util.List;importandroid.app.Activity;importandroid.database.Cursor;importandroid.database 示例代码:
这是一个读取联系人的代码:
复制代码 代码如下:
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,
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 就会报错 总结

以上是内存溢出为你收集整理的Android控件ListView用法(读取联系人示例代码)全部内容,希望文章能够帮你解决Android控件ListView用法(读取联系人示例代码)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1142524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存