2013-06-11 3 views
0

Iam новичок для android. Я создал приложение, которое содержит сетку с одним столбцом и несколькими строками. Я применил метод onItemClick. Мне нужно определить, какая строка была выбрана. Я не могу добиться этого через getId(), поскольку он возвращает только один и тот же идентификатор для всех строк. Есть ли способ достичь этого?gridview clickevent android

Спасибо заранее

+0

Как вы заселить вашу сетку? Отправьте свой код, включая ваш адаптер. –

+0

Кстати, какая точка сетки с одним столбцом? Почему бы просто не использовать ListView? –

+0

Я предполагаю, что он адаптирует количество столбцов к доступной ширине экрана? – FunkTheMonk

ответ

2

У вас есть аргумент в OnItemClickListener, которые соответствуют положению элемента.

gridView.setOnItemClickListener(new OnItemClickListener() 
{ 
    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) 
    { 
     //Selected item is at index "position". 
    } 
}); 

Если вы хотите точную строку выбора, вы можете использовать свой номер колонки, с чем-то вроде

int row = position/columnsNumber 
+0

Я работаю. но для динамической сетки, как я могу это достичь? –

+0

Что вы называете динамической сеткой? Даже если вы хотите изменить количество столбцов, я думаю, вы все еще имеете ссылку на это число где-то. – Aerilys

+0

k..fine..thanks Aerilys –

Смежные вопросы