Android: в Gridview как сделать изображения кликабельными - PullRequest
0 голосов
/ 07 августа 2010

Я пытаюсь сделать изображения кликабельными, чтобы при нажатии они отправляли пользователя на другую страницу или ссылку.

Как мне этого добиться?В настоящее время каждая строка в GridView имеет 2 Buttons.Как он узнает, по какому элементу в GridView нажата кнопка, чтобы он выполнял определенное действие, специфичное для элемента, по которому был произведен щелчок.

Спасибо за любую помощь!

Это мой класс адаптера изображения:

// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView;
    if (convertView == null) {  // if it's not recycled, initialize some attributes
        imageView = new ImageView(mContext);
        imageView.setAdjustViewBounds(true);
       // imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        imageView.setPadding(4, 8, 4, 8);
    } else {
        imageView = (ImageView) convertView;
    }

    imageView.setImageResource(mThumbIds[position]);
    return imageView;
}

// references to our images
private Integer[] mThumbIds = {
        R.drawable.menu_about,R.drawable.menu_episodes
  };
 }

Ответы [ 3 ]

2 голосов
/ 05 декабря 2010

Просто добавьте слушателя в GridView

    GridView gridView = (GridView) findViewById(R.id.gridview);
    gridView.setAdapter(new ImageAdapter());

    gridView.setOnItemClickListener(new OnItemClickListener()
    {
        public void onItemClick(AdapterView parent,
        View v, int position, long id)
        {
            data.aktueltBilledeNr = position;
            Toast.makeText(getBaseContext(), "Viser billede " + (position + 1), Toast.LENGTH_SHORT).show();
            finish();
            //startActivity(new Intent(Resultatsoversigt_akt.this, Teoriproeveaktivitet2.class));
       }
    });
0 голосов
/ 21 августа 2012

Прежде всего найдите положение кнопок (здесь изображение), а затем используйте корпус переключателя, чтобы выполнить то, что вы говорите ...

GridView gridView = (GridView) findViewById(R.id.gridview);    
gridView.setAdapter(new ImageAdapter());      
gridView.setOnItemClickListener(new OnItemClickListener() {       
    public void onItemClick(AdapterView parent,View v,int position,long     id)               {   
        switch(position) {
        case 0:
            Intent intent=new Intent(this,targer.class);
            StartActivity(intent);
            break;
        case 1:
            break;     
        .
        .
        .

        default:
            break;
        }
    }
});
0 голосов
/ 07 августа 2010

Возможно, вы захотите использовать класс ImageButton, чтобы сделать это для вас. Это кнопка, но вместо скучного серого градиента вы помещаете туда изображение! Andriod ImageButton Docs Оттуда вы можете использовать прослушиватель щелчков, как если бы вы использовали обычную кнопку.

...