我想得到我在spinner.i中选择的特定名称的id,但它会打印“_id”我如何检索特定名称的id。
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
String sel_name,numbers;
//String[] name=new String[]{arg0.getItemAtPosition(arg2).toString()};
sel_name=arg0.getItemAtPosition(arg2).toString();
String[] p=new String[]{People._ID};
Cursor cur=getContentResolver().query(People.CONTENT_URI, p,People.NAME+"= '"+sel_name+"'" ,null , null);
String r=cur.getString(cur.getColumnIndex(People._ID));
Toast.makeText(arg0.getContext(),r, Toast.LENGTH_LONG).show();
}
答案 0 :(得分:0)
你需要添加一个cursor.moveToFirst();在使用光标之前调用。
答案 1 :(得分:0)
如果您指的是自_name,那么您应该采取以下措施来获取视图的ID:
sel_name = String.valueOf(arg0.getChildAt(arg2).getId());
答案 2 :(得分:0)
在光标
之后添加以下内容while(cur.moveToNext)
{
String r=cur.getString(cur.getColumnIndex(People._ID));
}
答案 3 :(得分:0)
用特殊名称的id来避免这样做。 ALW ays只使用id作为int,因为R文件只有int条目,所以很容易处理。
对于这个我想在onItemSelected arg1.getId()将工作........
或在获取spinner的customAdapter的视图中尝试setTag(id),然后在onItemSelected int id = arg1.getTag();