我正在处理显示列表视图中所有联系人的应用程序,现在我想编辑联系人,我在setOnItemClickListener事件上编写代码,以便获取联系人详细信息。我写了下面的代码。每当我点击listview项目时,我的应用程序都会崩溃请帮助我。请指导我如何更新联系人详细信息。如果我向错误的方向移动,请指导我。
代码:
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv=(ListView)findViewById(R.id.listview);
TVContactText=(TextView)findViewById(R.id.contactEntryText);
btnAddContact=(Button)findViewById(R.id.addContactButton);
ArrayList<String> names = new ArrayList<String>();
cur=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
int a=cur.getCount();
if(cur.moveToFirst())
{
do{
int nameidx=cur.getColumnIndex(PhoneLookup.DISPLAY_NAME);
int Ididx=cur.getColumnIndex(PhoneLookup.NUMBER);
String strName=cur.getString(nameidx);
names.add(strName);
}while(cur.moveToNext());
cur.close();
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, R.layout.list_view_item_new, R.id.contactEntryText,names);
lv.setAdapter(adapter);
registerForContextMenu(lv);
}
btnAddContact.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
launchContactAdder();
}
});
//i want to get info regarding contact..
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
ContactAt(position);
}
});
}
但是每当我点击listview项目时,我的应用程序都会崩溃,请帮助我。
答案 0 :(得分:0)
以下是如何使用ArrayAdapter的解释:
http://sudarmuthu.com/blog/using-arrayadapter-and-listview-in-android-applications
如您所见,您可以使用getItem(position)来检索点击事件已注册的元素。