单击列表视图项时,应用程序崩溃

时间:2011-03-09 06:02:43

标签: android contacts

我正在处理显示列表视图中所有联系人的应用程序,现在我想编辑联系人,我在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项目时,我的应用程序都会崩溃,请帮助我。

1 个答案:

答案 0 :(得分:0)

以下是如何使用ArrayAdapter的解释:

http://sudarmuthu.com/blog/using-arrayadapter-and-listview-in-android-applications

如您所见,您可以使用getItem(position)来检索点击事件已注册的元素。