5

Mam 2 ListView na jednym fragmencie i zastanawiam się, czy mogę ustawić dla obu tej samej klasy, która implementuje AdapterView.OnItemClickListener.AdapterView.OnItemClickListener z większą listView

Znaczy, Android Dokumentacja mówi:

public abstract void onItemClick (AdapterView<?> parent, View view, int position, long id) 

Added in API level 1 
Callback method to be invoked when an item in this AdapterView has been clicked. 

Implementers can call getItemAtPosition(position) if they need to access the data associated with the selected item. 

Parameters 
parent The AdapterView where the click happened. 
view The view within the AdapterView that was clicked (this will be a view provided by the adapter) 
position The position of the view in the adapter. 
id The row id of the item that was clicked. 

Więc przypuszczam, że mogę wybrać innego ListView, która wywołała onClick przez rodzica (AdapterView gdzie kliknięcie stało) ..

Teraz jak mogę zidentyfikować ListView ? czy istnieje sposób na swicth/case? lub muszę utworzyć inną klasę (może być anonimowy I wiem), który implementuje onItemClickListener i zestaw do differents ListView differents AdapterView.onItemClickListener?

Odpowiedz

13

Ok postanowiłem:

private class myClass implements AdapterView.OnItemClickListener { 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, 
      long id) { 
     // TODO Auto-generated method stub 

     switch(parent.getId()) { 
     case R.id.listview1:    
      break; 
     case R.id.listview2: 
      break; 
     } 
    } 
} 
+0

Bulls Eye! Wielkie dzięki za odpowiedź. Rozwiązany. –