我有三个 autoCompleteTextView 框为 home , work , other .

因此,在家庭自动完成框中,我从服务器获取数据并选择一个项目以及我存储到的该项目 home_latlong 细绳。同样,我必须从其他自动完成工作中获取值,我将该值存储在另一个名为的字符串中 home_latlong. 。下面的代码显示 onItemClick 我将存储的覆盖函数 home_latlong 或者 work_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. 。我尝试使用 id autocompletetextview 但它对这个功能没有帮助。

有帮助吗?

解决方案

我通过使用匿名内部类解决了这个问题,

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 我有另一个匿名内部类,这样我就可以获得我点击的自动完成视图。

其他提示

检查文档 AdapterView.OnItemClickListener:

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

参数

  • 家长:单击发生的 AdapterView。
  • 看法:AdapterView 中被单击的视图(这将是适配器提供的视图)

您需要使用 第一的 参数(AdapterView)来识别 AutocompleteTextView.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top