2016-07-20 6 views
0

Ich habe eine Fragment, dass ich ein GridView definiert, so iam Befestigungs Listener für das LinearLayout von Gridview-Adapter so klicken i die LinearLayout des Adapters sollte die Hintergrundfarbe des ausgewählten Layout ändern ..Gridview Adapter Einzelauswahlmodus

+1

Was ist Ihr Problem? –

+0

Ich habe ein Booking-Fragment, das 4 Supporate Morgen, Nachmittag, Abend Fragmente enthalten Supporate Gridview, wenn ich die Gridview Elemente unter 4 Fragmente, sollte es die Farbe des Artikels Hintergrund ändern, und wenn ich auf andere Element vorherige Element Farbe sollte deaktiviert Donno welche Lösung ist das Beste für diese ... bitte helfen Sie mir, wo ich Hörer entweder in Fragment oder Adapter anhängen, so will ich kleine Schnipsel – Shreyas

+0

ohk ich werde Sie warten. zuerst fügen Sie onitemclick in Ihrem Fragment –

Antwort

1

Zuerst in Ihrer girdview Adapter-Klasse übernehmen Variable exp.

int selected; 

dann auf Verfahren machen in der Rasterdarstellung, wie die

public void selectedPosition(int postion) { 

    selected = postion; 
} 

dann können Sie auch einen Code in GetView Methode von gridview.like setzen, dass

if(position==selected) 
    { 
      imageView.setBackgroundColor(Color.WHITE); 

    } 
    else{ 
     imageView.setBackgroundColor(Color.parseColor("#578FFF")); 
    } 

jetzt in onitemclick von Gittern Sehen Sie, dass Sie so schreiben können

adapter.selectcrop(position); 
adapter.notifyDataSetChanged(); 

Hier ist ein Beispiel für eine Lösung Ich gebe Ihnen Schritt für Schritt, ich denke, Sie können Ihr Problem damit umgehen.

+0

Wie überprüfen Sie Position == ausgewählte Bedingung in getView Methode ?? – Shreyas

+0

Kopieren Sie einfach diesen Code und fügen Sie ihn ein. Ihre Arbeit kann ich den Code verwenden –

+0

Sie haben Textansicht in GetView-Methode? –