Ничего не происходит при нажатии на изображение GridView - PullRequest
0 голосов
/ 10 августа 2011

У меня есть этот код для запуска желаемой активности при нажатии на изображение из сетки:

gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                switch (v.getId()) {
                case R.drawable.stock:
                    Intent i = new Intent(acceuil.this,carburant.class);
                    startActivity(i);
                }
            }
        });

К сожалению, когда я нажимаю на изображение, ничего не происходит.В чем проблема этого кода?Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 10 августа 2011

Да, поскольку идентификатор представления и идентификатор рисования не совпадают, это не будет работать.

Если вы внедрили GridView, как показано в примере здесь , то выдолжен иметь возможность использовать параметр position в onItemClick() для извлечения идентификатора рисования из массива и на этом основывает блок переключателей.Конечно, вам нужно сделать это значение окончательным, чтобы использовать switch, но это не имеет прямого отношения.

0 голосов
/ 10 августа 2011

Обработка должна быть сделана с помощью манипуляции с положением элемента, а не с именем изображения, вот правильный код:

gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                switch (**position**) {
                case **0**:
                    Intent i = new Intent(acceuil.this,carburant.class);
                    startActivity(i);
                }
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...