Autore Topic: Lista di elementi con sottoelementi cliccabili  (Letto 786 volte)

Offline Lukiep

  • Nuovo arrivato
  • *
  • Post: 27
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    Lukiep
  • Sistema operativo:
    Windows 7/8
Lista di elementi con sottoelementi cliccabili
« il: 14 Settembre 2011, 00:18:29 CEST »
0
Ciao a tutti,
sto cercando di creare una semplice applicazione che gestisce una serie di Maghi.
Ogni Mago ovviamente possiede una lista di Incantesimi.

Tale struttura è stata rappresentata da un ArrayList<Mago>: ogni oggetto Mago ha un ArrayList<Incantesimo>

Ora incontro un problema a rappresentare una lista di maghi e i loro incantesimi.



Questa lista è stata creata inserendo un contenitore di tipo ListView che è stato popolato con ArrayAdapter

Codice (Java): [Seleziona]
ListView listView = (ListView) findViewById(R.id.array_mago);          
               
             ArrayAdapter<Mago> arrayAdapter = new ArrayAdapter<Mago>(
                        this, R.layout.singolomago, R.id.nome_mago, core.getMaghi()){

                                @Override
                                public View getView(int position, View convertView, ViewGroup parent) {
                                        // TODO Auto-generated method stub
                                       
                                        if(convertView == null){       
                                                LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                                                convertView = inflater.inflate(R.layout.singolomago, null);                                            
                                        }                                      
                                       
                                        Mago item = getItem(position);
                                       
                                        LinearLayout listaincantesimi = (LinearLayout) convertView.findViewById (R.id.mage_casts);
                                       
                                        for(Incantesimo incanto : item.getIncantesimi()){
                                                if(item.getIncantesimi().size() != listaincantesimi.getChildCount()){
                                                        CastRow incantesimo_row = new CastRow(listaincantesimi.getContext(), incanto.getNome(), incanto.getPosizione());
                                                        listaincantesimi.addView(incantesimo_row);     
                                                }
                                        }                                              
                                                       
                                        TextView nomemago = (TextView) convertView.findViewById (R.id.nome_mago);
                                        TextView livellomago = (TextView) convertView.findViewById (R.id.livello_mago);
                                                       
                                        nomemago.setText(item.getNome());
                                        String livello = "(Livello "+Integer.toString(item.getLivello())+")";
                                        livellomago.setText(livello);                          
                                                       
                                        return convertView;                                            
                                }
                       
                };
               
             listView.setAdapter(arrayAdapter);
               
               
        }
CastRow è una classe che estende RelativeLayout e che usa un Inflater per leggere un file xml di layout.

Il problema è che non mi è possibile selezionare il singolo incantesimo di un mago. Come si vede dall'immagine, l'unica selezione possibile è dell'intero blocco, ma a me interessa selezionare i suoi incantesimi.



1) Posso rendere selezionabili e quindi cliccabili quei sottoelementi?
2) Se si come posso fare?

Grazie in anticipo per l'aiuto.

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Lukiep

  • Nuovo arrivato
  • *
  • Post: 27
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    Lukiep
  • Sistema operativo:
    Windows 7/8
Re:Lista di elementi con sottoelementi cliccabili
« Risposta #2 il: 14 Settembre 2011, 13:50:38 CEST »
0
Grazie mille, non ero riuscito a trovare la risposta con la ricerca.