2017-10-11 3 views
1

Chaque élément de ma GridView est une mise en page personnalisée composée de quatre ImageViews, chacun avec leurs propres identifiants, dont chacun a son image définie par un CursorAdapter personnalisé.Comment puis-je cliquer sur une partie spécifique d'un seul élément dans un GridView?

Je voudrais avoir cliqué sur chacun des ImageViews dans un élément conduisent à une fonction différente. J'aimerais aussi avoir l'ID de l'élément GridView à utiliser dans la fonction. Si j'utilise gridview.setOnItemClickListener, il recherche des clics sur l'élément dans son ensemble. Si j'utilise android: onClick dans le XML, cela ne me donne pas l'identifiant de l'item.

Répondre

1

À l'intérieur de la méthode getView de l'adaptateur personnalisé, définissez OnClickListener pour chaque ImageView.

imageView1 = rootView.findViewById(R.id.image1); 
    imageView2 = rootView.findViewById(R.id.image2); 

imageView1.setOnClickListener(... 
imageView2.setOnClickListener(... 
+0

Ne serait-ce cliquez sur l'élément dans son ensemble, au lieu d'une partie spécifique? – CCS

+0

Je pense que je l'avais libellé un peu ambigu, plus tôt, désolé – CCS

+0

@CSS vérifier la réponse éditée. –

1

essayez celui-ci

your_grid_view.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    Toast.makeText(YourActivity.this, "" + position, Toast.LENGTH_SHORT).show(); // this will toast your clicked item position. 
    } 
});