Android如何在onitemclick覆盖函数中选择autocompletetextview的id

时间:2014-06-05 14:34:41

标签: android android-listview autocompletetextview android-event

我有三个autoCompleteTextViewhomeworkother

因此,在家庭自动填充框中,我从服务器获取数据并选择一个项目,并将该项目存储到home_latlong字符串。同样,我必须从其他自动完成工作中获取值,我将该值存储在另一个名为home_latlong的字符串中。下面的代码显示了onItemClick覆盖函数,其中我将存储home_latlongwork_latlong。 `

ontemClick(AdapterView<?> adapterView, View view,
        int position, long id) {
        System.out.println("POSITION ="+position);
        for (int i = 0; i < latlong.size(); i++) {
            if(i==position){
                home_latlong=latlong.get(i);
                System.out.println("ARRAY"+latlong.get(i));
            }
        }
}`

问题是,当我存储home_latlong以及何时存储work_latlong时,我无法区分。我尝试使用autocompletetextview的id,但它对此功能没有帮助。

2 个答案:

答案 0 :(得分:1)

我通过使用匿名内部类来解决它,

actv1 = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
actv1 .setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> adapterView, View v, int position,
                long id) {
            // TODO Auto-generated method stub
            for (int i = 0; i < latlong.size(); i++) {
                if (i == position) {
                    home_latlong = latlong.get(i);
                    System.out.println("ARRAY" + latlong.get(i));
                }

            }
        }

    });

同样对于work_latlong我有另一个匿名的内部类,所以我可以得到我点击过的自动完成视图。

答案 1 :(得分:0)

查看AdapterView.OnItemClickListener的文档:

  

public abstract void onItemClick (AdapterView<?> parent, View view, int position, long id)

     

<强>参数

     
      
  • parent:发生点击的AdapterView。
  •   
  • view:已点击的AdapterView中的视图(这将是适配器提供的视图)
  •   

您需要使用 first 参数(AdapterView)来识别AutocompleteTextView