2010-08-07 4 views
0

J'essaie de rendre les images cliquables afin que quand ils sont pressés, il va envoyer l'utilisateur à une autre page ou un lien.Android: Dans Gridview comment puis-je rendre les images cliquables?

Comment puis-je obtenir ceci? Actuellement, chaque ligne du GridView a 2 Buttons. Comment va-t-il savoir quel élément du GridView est cliqué de sorte qu'il effectue une certaine action, spécifique à l'élément sur lequel on a cliqué.

Merci pour toute aide!

Ceci est à mon image classe d'adaptateur:

// 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 
    }; 
} 

Répondre

0

Vous voudrez peut-être envisager d'utiliser la classe ImageButton pour le faire pour vous. C'est un bouton mais au lieu d'avoir un dégradé de gris ennuyeux, vous placez une image à la place! De là, vous êtes libre d'utiliser un écouteur de clic comme vous le feriez avec un bouton normal.

2

Il suffit d'ajouter un écouteur au 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

d'abord trouver la position des boutons (ici Image), puis utilisez le boîtier de commutateur pour perfrom tout ce que vous dites ...

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; 
     } 
    } 
}); 
Questions connexes