Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Japanese
9 / 9 / 1
Регистрация: 14.11.2010
Сообщений: 128
#1

GridView.setOnItemClickListener не срабатывает при нажатии на итем - Программирование Android

01.02.2015, 06:15. Просмотров 443. Ответов 1
Метки нет (Все метки)

Java
1
2
3
4
5
6
7
8
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
 
            @Override
            public void onItemClick(AdapterView<?> parent, View v,
                                    int position, long id) {
                Toast.makeText(MainActivity.this, "OK!", Toast.LENGTH_SHORT).show();
            }
        });
В самой gridview содержатся imageview и textview. Как я понимаю при нажатии на ячейки грида, срабатывает онклик для imageview. Как сделать чтобы срабатывал онклик для ячеек грида??

адаптер:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
public class GridViewAdapter extends ArrayAdapter<ImageItem>  {
    private Context context;
    private int layoutResourceId;
    private ArrayList<ImageItem> data = new ArrayList<ImageItem>();
 
    public GridViewAdapter(Context context, int layoutResourceId,
                           ArrayList<ImageItem> data) {
        super(context, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.data = data;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        ViewHolder holder = null;
 
        if (row == null) {
            LayoutInflater inflater = ((Activity) context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);
            holder = new ViewHolder();
            holder.imageTitle = (TextView) row.findViewById(R.id.text);
            holder.image = (ImageView) row.findViewById(R.id.image);
            row.setTag(holder);
 
        } else {
            holder = (ViewHolder) row.getTag();
        }
 
        ImageItem item = data.get(position);
        holder.imageTitle.setText(item.getTitle());
        holder.image.setImageBitmap(item.getImage());
 
holder.image.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    System.out.println(v.getId());
    }
});
 
        return row;
    }
 
    static class ViewHolder {
        TextView imageTitle;
        ImageView image;
    }
 
    public synchronized void refreshAdapter(ArrayList<ImageItem> items) {
        data.clear();
        data.addAll(items);
        notifyDataSetChanged();
    }
}
А адаптере онклик срабатывает, но там я не могу получить ид нажатой ячейки грида
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2015, 06:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос GridView.setOnItemClickListener не срабатывает при нажатии на итем (Программирование Android):

Итем меню не реагирует на нажатие - Программирование Android
Добрый день, возник небольшой курьёз, не могу сообразить. Беру тулбар, закидываю менюшку, она отображается нормально, однако нажатие не...

Не срабатывает функция при повторном нажатии - JavaScript
При нажатии на кнопку СЕНД (если не заполнено поле) выводится сообщение--Внимание вы не заполнили все поля!!. Но я не знаю почему не...

При нажатии на кнопку функция не срабатывает - JavaScript
Добрый вечер, я новичок в javascript, поэтому возможно, что то делаю не так.. Я пытаюсь установить маркер на гуглокарту путем нажатия на...

При нажатии мышки не срабатывает FormClick - Delphi
Что нужно добавить чтоб работала ета процедура?????Ато при нажатии мышки вобще ничё не происходит(((procedure TForm1.FormClick(Sender:...

Не срабатывает при нажатии на кнопку Del - C# WPF
Не срабатывает при нажатии на кнопку не могу понять почему, хотя другие кнопки срабатывают нормально private void...

При нажатии на клавишу Shift Срабатывает клавиша С - Windows 7
В некоторых играх (шутерах например) , персонаж приседает, хотя приседание стоит не на клавише С (даже если клавиша не назначена,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
01.02.2015, 10:21 #2
http://jmsliu.com/2444/click-button-...-position.html

Кстати, не самая лучшая идея вешать нового слушателя на view при каждом getView()...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2015, 10:21
Привет! Вот еще темы с ответами:

Как получить данные из источника данных GridView при нажатии кнопки в TemplateField - C# ASP.NET
Уткнулся в мелочь... Есть GridView, в нем TemplateField, а в нем Button (Все как у Кащея :)). По нажатию на кнопку, мне надо...

Код срабатывает только при втором нажатии кнопки - Delphi
У меня написана процедура на нажатие кнопки, но она срабатывает только при повторном нажатии, причем нужная форма открывается, но видимость...

Не срабатывает SendKeys при повторном нажатии горячих клавиш - C#
Здравствуйте, не срабатывает SendKeys при повторном нажатии горячих клавиш. Я понимаю, что дело в скорости обработки сообщений WinAPI,...

Какое событие срабатывает в Awesomium при нажатии на ссылку? - C#
Здравствуйте, делаю браузер нужна помощь знающих. Использую awesonium webcontrol. Когда в поисковике нажимаешь на ссылки которые он тебе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru