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

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

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

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

01.02.2015, 06:15. Просмотров 437. Ответов 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 Recyclerview при onLongItemClick срабатывает и onItemClick?
Android ListView: сбивается содержимое ImageView элемента при скроллинге + как сделать выделение пункта списка при нажатии?
Android Какой метод срабатывает при повторном показе фрагмента
Android Ошибка при нажатии
Android Действие при нажатии на ссылку
Вылет при нажатии кнопки Android
Android Ошибка при нажатии на кнопку
Exception при нажатии любых кнопок Android
Считывание чисел при нажатии на кнопки Android
Зависает программа при нажатии кнопки Android
Android При нажатии на кнопку приложение закрывается

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
01.02.2015, 10:21     GridView.setOnItemClickListener не срабатывает при нажатии на итем #2
http://jmsliu.com/2444/click-button-...-position.html

Кстати, не самая лучшая идея вешать нового слушателя на view при каждом getView()...
Ответ Создать тему
Опции темы

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