Set OnClickListener für Elemente in ListView mit 2 Ansichten

Ich habe eine ListView mit items mit diesem layout:

<LinearLayout ...>            
    <LinearLayout ...>
       <!--Elements -->
    </LinearLayout>

    <LinearLayout ...>
       <!--Elements -->
    </LinearLayout>            
</LinearLayout>

Also meine Objekte haben zwei verschiedene Abschnitte. Ich möchte in der Lage sein, um das setup anders onclickListener innerhalb eines jeden Elements(einen für jedes LinearLayout). Ich habe versucht, so weit zu überschreiben, die onListItemClick, aber es scheint nicht richtig zu arbeiten:

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) { 
    super.onListItemClick(l, v, position, id);

    ViewGroup vg = (ViewGroup)v;
    vg.getChildAt(0).setOnClickListener(new OnClickListener() {         
        @Override
        public void onClick(View v) {
            Toast.makeText(mCtx, "element1", Toast.LENGTH_SHORT).show();                
        }
    });
    vg.getChildAt(1).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(mCtx, "element2", Toast.LENGTH_SHORT).show();                
        }
    });

}

Irgendwelche Ideen wie man das problem angehen?

Dank.

  • Sind Sie sicher, dass vg.getChildAt(0) und vg.getChildAt(1) Rückkehr Linearlayout
  • Das es nicht wichtig ist, was ich will jetzt ist das festlegen der verschiedenen Veranstaltungen für das listview-Element.
InformationsquelleAutor Dayerman | 2011-06-01
Schreibe einen Kommentar