Autore Topic: Swipe su item di una listview  (Letto 674 volte)

Offline Adriano

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Swipe su item di una listview
« il: 09 Maggio 2013, 13:08:33 CEST »
0
Ho un custom array adapter che alimenta una listview, quello che vorrei fare è usare le gestures come lo swipe per fare delle operazioni diversa da quelle fatte tramite gli eventi OnItemClick e/o OnItemLongClick, ad esempio lo swipe orizzontale.

Credo di dover aggiungere il listener per il TouchEvent ma non so dove, sul metodo getView()?
La cosa importante sarebbe quella di gestire poi l'evento fuori dalla classe del custom array adapter, proprio come avviene con OnItemClick e OnItemLongClick.

Mi sono speiegato? boh! speriamo  :-P

di seguito il mio custom array adapter
Codice (Java): [Seleziona]
    private class IngredientiAdapter extends ArrayAdapter<Ingrediente>
    {
        public IngredientiAdapter(Context context, int textViewResourceId, List<Ingrediente> objects)
        {
            super(context, textViewResourceId, objects);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent)
        {
            ViewHolder viewHolder = null;

            if (convertView == null)
            {
                LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

                convertView = inflater.inflate(R.layout.lista_spesa, null);

                viewHolder = new ViewHolder();

                viewHolder.ingrediente = (TextView) convertView.findViewById(R.id.ingrediente);
                viewHolder.quantita = (TextView) convertView.findViewById(R.id.quantita);
                viewHolder.locazione = (TextView) convertView.findViewById(R.id.locazione);

                convertView.setTag(viewHolder);
            }
            else
            {
                viewHolder = (ViewHolder) convertView.getTag();
            }

            Ingrediente ingrediente = getItem(position);
           
            viewHolder.ingrediente.setText(ingrediente.getDescrizione());
            viewHolder.quantita.setText(String.valueOf(ingrediente.getQuantita()));
            viewHolder.locazione.setText(ingrediente.getLocazione());

            if (ingrediente.isSmarcato())
            {
                viewHolder.ingrediente.setPaintFlags(viewHolder.ingrediente.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
                viewHolder.quantita.setPaintFlags(viewHolder.quantita.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
            }
            else
            {
                viewHolder.ingrediente.setPaintFlags(viewHolder.ingrediente.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG));
                viewHolder.quantita.setPaintFlags(viewHolder.ingrediente.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG));
            }

            return convertView;
        }

        private class ViewHolder
        {
            public TextView ingrediente;
            public TextView quantita;
            public TextView locazione;
        }

    }

Offline rs94

  • Utente normale
  • ***
  • Post: 227
  • Respect: +21
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson Xperia Arc S
  • Sistema operativo:
    Windows 8
Re:Swipe su item di una listview
« Risposta #1 il: 09 Maggio 2013, 13:27:03 CEST »
0
L'unica certezza è il dubbio.
Dubitare di se stessi è il primo segno di intelligenza.

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
Re:Swipe su item di una listview
« Risposta #2 il: 09 Maggio 2013, 13:39:56 CEST »
0
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