Android, как выбрать идентификатор autocompletetextview внутри переопределенной функции onitemclick

StackOverflow https://stackoverflow.com//questions/24063029

Вопрос

у меня есть три 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.Я попробовал с идентификатором 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)

Параметры

  • родитель:АдаптерView, в котором произошел щелчок.
  • вид:Представление в адаптере, по которому был сделан щелчок (это будет представление, предоставленное адаптером).

Вам необходимо использовать первый параметр (AdapterView) для идентификации AutocompleteTextView.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top