Android 选择自动完成项目时从服务器获取的id错误

Android 选择自动完成项目时从服务器获取的id错误,android,sql,autocomplete,Android,Sql,Autocomplete,我已经从服务器中的数据填充了我的AutCompleteTextView。从Autocomplete TextViewt中选择制造商并显示Toast以显示所选项目时,获取的基于服务器的id对于所选制造商是不正确的 例如: 如果我从自动完成下拉列表中选择“Voillant”,Toast会显示“Voillant”,但会得到“Worchester Borsch”(我的自动完成文本视图中的另一个制造商)的id @Override public void onItemClick(AdapterView<

我已经从服务器中的数据填充了我的
AutCompleteTextView
。从
Autocomplete TextViewt
中选择制造商并显示Toast以显示所选项目时,获取的基于服务器的id对于所选制造商是不正确的

例如: 如果我从
自动完成下拉列表中选择“Voillant”,Toast会显示“Voillant”,但会得到“Worchester Borsch”(我的
自动完成文本视图中的另一个制造商)的id

@Override
public void onItemClick(AdapterView<?> parent, View arg1,
                        int position, long arg3)
{

    Toast.makeText(parent.getContext(), "Manufacturer is " + parent.getItemAtPosition(position).toString(),
                   Toast.LENGTH_LONG).show();
    int theIdMan =idListMan.get(position);
    conv_to_str_id_man = String.valueOf(theIdMan);
    Log.d(" check id ", conv_to_str_id_man);
}
@覆盖
public void onItemClick(AdapterView父级,视图arg1,
整数位置,长arg3)
{
Toast.makeText(parent.getContext(),“制造商为”+parent.getItemAtPosition(position).toString(),
Toast.LENGTH_LONG).show();
int theIdMan=idListMan.get(位置);
conv_to_str_id_man=String.valueOf(theIdMan);
Log.d(“检查id”,conv_to_str_id_man);
}
获取id的代码

JSONArray JA=new JSONArray(result);
        JSONObject json= null;

        final List<Integer> idListMan = new ArrayList<Integer>();   //  id saved in array list of Ints
        final List<String> list2Man = new ArrayList<String>();

        for(int i=0;i<JA.length();i++)
        {
            json=JA.getJSONObject(i);
            idListMan.add(json.getInt("manufacturers_id"));      //getting id from JSON
            list2Man.add(json.getString("manufacturers_name"));
        }


            ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.man_list_auto_com , list2Man);

            dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            text.setThreshold(0);
            text.setAdapter(dataAdapter);

            text.setOnItemClickListener(new OnItemClickListener() 
            {
JSONArray JA=新的JSONArray(结果);
JSONObject json=null;
final List idListMan=new ArrayList();//保存在整数数组列表中的id
最终列表list2Man=新的ArrayList();

对于(int i=0;返回的位置是AutoCompleteTextView列表视图中的位置,可能与idListMan中的位置不匹配,这就是为什么使用getItemAtPosition。我尝试了
get(position)
,现在
Toast
显示“Worchester Borsch”及其id,即使我选择了“Voillant”。我使用
getItemAtPosition
显示所选的确切制造商,但id不正确。请参阅我添加的代码,Luksprog(stackoverflow的一个有用成员)为我提供了该代码以获取基于服务器的id