源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-12-23 11:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android控件ListView用法(读取联系人示例代码)
[b]示例代码:[/b] 这是一个读取联系人的代码:
[u]复制代码[/u] 代码如下:
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 适配器,里面可以直接实现接口,或者写个类,实现
[u]复制代码[/u] 代码如下:
ListAdapter
这个接口
[u]复制代码[/u] 代码如下:
listView.setAdapter
在定义一个list 集合 泛型为String 接口中有个方法:
[u]复制代码[/u] 代码如下:
@Override public Object getItem(int paramInt) { // TODO Auto-generated method stub return dataList.get(paramInt); }
return 就是 返回list的数据 paramInt 这是索引号 直接取list.get(索引) 这样就可以了 还要实现上述的几个方法 注意,如果list!>1 就会报错
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部