Как я могу установить прослушиватель кликов для отдельного элемента в списке?

У меня есть список, привязанный к массиву строк... Как установить разные клики для каждого элемента в представлении списка


person Ayomide Aro    schedule 01.11.2015    source источник
comment
Вы пробовали искать? Об этом много тем. Например, ответьте на SO stackoverflow.com/a/8615535/1228514.   -  person Alex Kucherenko    schedule 01.11.2015
comment
я все еще не получил то, что ищу .. Можете ли вы помочь?   -  person Ayomide Aro    schedule 01.11.2015


Ответы (2)


  1. Зарегистрируйте прослушиватель щелчков элемента в ListView с помощью http://developer.android.com/reference/android/widget/AdapterView.html#setOnItemClickListener(android.widget.AdapterView.OnItemClickListener)
  2. В вашем AdapterView.OnItemClickListener#onItemClick вы получите представление и идентификатор.

Вы можете использовать идентификатор, если у вас есть заданный порядок в вашем массиве, или вы можете использовать View#findViewById и получить содержимое представления, чтобы выяснить, какой это элемент.

Это означает, что вы не будете устанавливать прослушиватель для каждого элемента, а будете иметь один прослушиватель для всех элементов, а затем будете выполнять разные действия в зависимости от того, какой это элемент.

person Erik Zivkovic    schedule 01.11.2015
comment
Хорошо, спасибо... Но не могли бы вы привести пример, пример кода или что-то в этом роде? - person Ayomide Aro; 01.11.2015
comment
@AyomideAro здесь, в StackOverflow, вы всегда получите дополнительную помощь, если ваш вопрос будет более конкретным. Если вы отредактируете свой вопрос и заполните свой собственный код, мы можем помочь вам заполнить пробелы. - person Erik Zivkovic; 01.11.2015

Я думаю, вы могли бы использовать это так.

    adapter = new ArrayAdapter(getContext(), R.layout.list_item_forecast, R.id.list_item_forecast_textView, new ArrayList<String>());
    listView.setAdapter(adapter);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //what ever you want to give on item click
        }
    });

здесь, проверив position внутри onItemClick, вы можете назначить определенные задачи.

person Nabeel K    schedule 01.11.2015