2010-12-28 4 views
0

Ich möchte verschiedene Klassen öffnen, wenn ich auf die ListView klicke. Ich habe bereits den onItemClickListener erstellt und in dem ich die Klasse öffne, aber ich kann nur eine Klasse öffnen, anstatt die Klasse zu öffnen, die dem Item in der Liste zugeordnet ist.Öffnen von verschiedenen Klassen nach Intent nach der Position aus dem OnItemClickListener

Es gibt einen Parameter namens "int position" im OnItemClickLcisterer, aber ich weiß nicht, wie zu verwenden.

Ich habe so viele verschiedene Elemente in meiner Liste und möchte eine bestimmte Klasse von meinem OnItemClickListener öffnen, der diesem Element aus der Liste zugeordnet ist.

Hier bin ich platzieren, was ich in meinem OnItemClickListener tue:

nameOfStates.setOnItemClickListener (neu OnItemClickListener() { public void onItemClick (AdapterView Elternteil, Ansicht Ansicht, int Position, long id) { Intent mIntent = new Intent (StateSelection.this, AlaskaZone.class); startActivity (mIntent);

   Intent myIntent = new Intent(StateSelection.this, AlabamaZone.class); 
       startActivity(myIntent); 

      } 
     }); 

Es gibt Artikel (name) Alaska in meiner Liste, die soll Öffnen Sie die AlaskaZone-Klasse, ebenfalls der Item (Name) Alabama von myh-Listing soll die AlabamaZone-Klasse öffnen.

Wie kann ich das besonders?

Kann mir bitte jemand helfen?

Danke, david

Antwort

1

Sein in Ihrem Hörer einfachen Block Schalt- Fall legen und Position für die Fälle, die 0-Position, dass verwenden reflektiert das erste Element in der Liste und so weiter und für jeden Fall startet unterschiedliche Aktivität

nameOfStates.setOnItemClickListener(new OnItemClickListener() 
    { 
     public void onItemClick(AdapterView parent, View view, int position, long id) 
     { 
      switch (position) 
      { 
       case 0: 
        // Start activity that you want to when 1st item of your list is selected 
        break; 

       case 1: 
        // Start activity that you want to when 2nd item of your list is selected 
        break; 
      }    
     } 
    }); 
+0

können Sie mir bitte zeigen, zu identifizieren, weil ich eine haben Ich habe es versucht, konnte es aber nicht. Vielleicht habe ich einen Fehler in meiner Programmierung gemacht. –

0

Gebrauch das Argument postion in der onItemClick Methode, um die Zeile zu identifizieren, die angeklickt wurde, die wiederum helfen, würden Sie den Zustand

+0

@ Frieze- Kannst du mir bitte sagen, wie ich diese Position benutzen kann, weil ich verschiedene Wege versucht habe, aber nicht erfolgreich war. –

+0

David, wie zeigen Sie die Zustände in der Liste an. Ich meine, Sie müssen einen Adapter verwenden, um die Liste richtig zu füllen? können Sie Ihren Adaptercode teilen, damit ich Ihnen zeigen kann, wo Sie die Änderung vornehmen können – pankajagarwal

Verwandte Themen