CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: bluemask con ben 8 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 27 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

CountDown multipli in ListActivity su Android

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Sep 2011
    Messaggi
    2

    Ringraziamenti
    0
    Ringraziato 1 volta in 1 Post
    Question

    CountDown multipli in ListActivity su Android

    Salve a tutti sono una new entry del forum...
    Vi prego datemi una mano su una cosa che mi sta facendo uscire pazzo da 2 settimane (ogni notte)
    ho una listview che si popola con dati provenienti da DB (nome e numero di telefono). In + voglio inserire un countdows che parte dal click sulla riga.
    Il problema è che il timer compare su rughe random e se entro in una nuova attività e torno al main scompaiono tutti
    Ho provato anche gli handler ma, sebbene non scompaiano compaiono cmq in modo random su più righe... Sto uscendo pazzo... mi date un consiglio?
    Di seguito il codice:

    CountDownTest.java

     
    1
    2
    public class CountDownTest extends ListActivity {
    3
    4
    Cursor model=null;
    5
    TestAdapter adapter=null;
    6
    TestHelper helper=null;
    7
    long currentId=0;
    8
    View currentView = null;
    9
    10
    @Override
    11
    public void onCreate(Bundle savedInstanceState) {
    12
    13
        super.onCreate(savedInstanceState);
    14
        setContentView(R.layout.main);
    15
        helper=new TestHelper(this);
    16
        model=helper.getAll();
    17
        startManagingCursor(model);
    18
        adapter=new TestAdapter(model);
    19
        setListAdapter(adapter);
    20
    }
    21
    22
    @Override
    23
    public void onDestroy() {
    24
        super.onDestroy();
    25
        helper.close();
    26
    }
    27
    28
    @Override
    29
    public void onListItemClick(ListView list, View view, int position, long id) {
    30
        currentId = id;
    31
        currentView = view;
    32
        final TextView dt = (TextView)currentView.findViewById(R.id.countDownList);
    33
        final CountDownTimer myTimer = new CountDownTimer(60000, 1000) {                            
    34
            public void onTick(long millisUntilFinished) {
    35
                dt.setText("Arrives in " + millisUntilFinished/1000 + " seconds");
    36
            }
    37
            public void onFinish() {
    38
                dt.setText("Arrived?");
    39
            }
    40
        };
    41
        myTimer.start();
    42
    }
    43
    44
    class TestAdapter extends CursorAdapter {
    45
        TestAdapter(Cursor c) {
    46
            super(EasyQueue.this, c);
    47
        }
    48
        @Override
    49
        public void bindView(View row, Context ctxt, Cursor c) {
    50
            TestHolder holder=(TestHolder)row.getTag();
    51
            holder.populateFrom(c, helper);
    52
        }
    53
        @Override
    54
        public View newView(Context ctxt, Cursor c, ViewGroup parent) {
    55
            LayoutInflater inflater=getLayoutInflater();
    56
            View row=inflater.inflate(R.layout.row, parent, false);
    57
            TestHolder holder=new TestHolder(row);
    58
    59
            row.setTag(holder);
    60
            return(row);
    61
        }
    62
    }
    63
    64
    static class TestHolder {
    65
        private TextView name=null;
    66
        private TextView phone=null;
    67
    68
        TestHolder(View row) {
    69
            name=(TextView)row.findViewById(R.id.nameList);
    70
            phone=(TextView)row.findViewById(R.id.phoneList);
    71
        }
    72
        void populateFrom(Cursor c, TestHelper helper) {
    73
            name.setText(helper.getName(c));
    74
            phone.setText(helper.getPhone(c));
    75
        }
    76
    }
    77
    78
    @Override
    79
    public boolean onCreateOptionsMenu(Menu menu) {
    80
        new MenuInflater(this).inflate(R.menu.option, menu);
    81
        return(super.onCreateOptionsMenu(menu));
    82
    }
    83
    84
    @Override
    85
    public boolean onOptionsItemSelected(MenuItem item) {
    86
        if (item.getItemId()==R.id.reset) {
    87
            return(true);
    88
        }else if (item.getItemId()==R.id.add){
    89
            startActivity(new Intent(EasyQueue.this, DetailForm.class));
    90
            return(true);
    91
        }else if (item.getItemId()==R.id.prefs){
    92
            return(true);
    93
        }
    94
        return(super.onOptionsItemSelected(item));
    95
    }
    96
    97
    }
    98


    Se volete posto anche i vari XML e classi helper...

  2.  

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy