Android id抓取问题

时间:2011-07-26 12:26:14

标签: android

spinner.setOnItemSelectedListener(new OnItemSelectedListener()             {

            @Override
            public void onItemSelected(AdapterView<?> parent, View arg1,
                    int pos, long arg3) 

            {

                String name;
                name=parent.getItemAtPosition(pos).toString();

                String[] projection1 = new String[]{
                        People._ID
                     };

                Cursor pCur=getContentResolver().query(People.CONTENT_URI, projection1,People._ID+"="+name,null,null);

                pCur.moveToFirst();
                if(pCur.moveToFirst())
                {
                    String id;
                    int x=0;
                    do
                    {
                        id=pCur.getString(pCur.getColumnIndex(People._ID));
                        Toast.makeText(parent.getContext(),"resule::"+id,Toast.LENGTH_LONG).show();
                        x++;

                    }while(pCur.moveToNext());
                }

            }


            public void onNothingSelected(AdapterView<?> arg0)
            {

                // DO Nothing
            }

        });

我是android开发的新手.spinner有所有联系人名称我想从特定名称获取id。请帮助我。

提前致谢

此致 Arpit Trivedi

2 个答案:

答案 0 :(得分:0)

如果你想从列表中获取特定的id,那么你应该在setOnItemSelectedListener()之外填充微调器,因为你在单击项目时会这样做。获取项目数据的所有操作都是name=parent.getItemAtPosition(pos);,就像您在开始时所做的那样。只需在此方法之外填充微调器,请在获取联系人后点。我希望这会有所帮助。

答案 1 :(得分:0)

使用名称调用此方法。您将获得id

public long idForName(String name){

    int count=spinner.getCount();
    for(int i=0;i<count;i++)
    if(spinner.getItemAtPosition(i).equals(name)) return spinner.getItemIdAtPosition(i);
    }