在列表视图中加载联系人查询
Posted
技术标签:
【中文标题】在列表视图中加载联系人查询【英文标题】:load contact query in listview 【发布时间】:2014-07-12 16:51:48 【问题描述】:我正在尝试在列表视图中显示联系人数据。我认为一切都很好,但是当我执行应用程序时,出现以下错误java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView
。
代码是这样的:
public class BuscaContactos extends Activity
ListView listContactos;
String opcion;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_busca_contactos);
listContactos=(ListView)findViewById(R.id.listContactos);
ArrayList<String> listagente = consultaAgenda();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(BuscaContactos.this, R.layout.activity_busca_contactos,listagente);
listContactos.setAdapter(adapter);
listContactos.setOnItemClickListener(new OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
);
private ArrayList<String> consultaAgenda()
ArrayList<String> datos = new ArrayList<String>();
Cursor c = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while (c.moveToNext())
String ContactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
String nombre = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
datos.add(ContactID);
datos.add(nombre);
c.close();
return datos;
【问题讨论】:
如果您想在列表视图中显示联系电话? 【参考方案1】:R.layout.activity_busca_contactos
应该包含 TextView
没有别的。
如果你想使用其他View
,那么你需要创建一个CustomAdapter
【讨论】:
但我不使用任何 TextView 来做任何事情 那么布局中有什么? 布局只有ListView 您必须传递要用于在行中膨胀的布局。尝试用android.R.layout.simple_list_item_1
替换R.layout.activity_busca_contactos
您确定您的ArrayList
不为空吗?以上是关于在列表视图中加载联系人查询的主要内容,如果未能解决你的问题,请参考以下文章