2012-02-19 15 views
5

Ho un pulsante R1 che è dinamico e creato in una vista elenco espansa, non posso crearlo come public perché è stato creato in fase di esecuzione più volte, ora il problema è che voglio cambiare il testo del pulsante mentre il timer è in esecuzione. Come posso cambiare il testo del pulsante nel metodo di esecuzione del timer, perché la vista non ha un metodo settext.Timer nell'elenco espanso con pulsante dinamico Android

R1 = (Button) v.findViewById(R.id.R1); 
          R1.setOnClickListener(new OnClickListener(){ 
        boolean R1state=true; 
        TimerTask scanTask; 
        final Handler handler = new Handler(); 
        Timer t = new Timer(); 
        boolean time=true; 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        scanTask = new TimerTask() { 
         public void run() { 
           handler.post(new Runnable() { 
             public void run() { 
/// here need to change R1 text as timer go      } 
           }); 
         }}; 


        if(!R1state) 
        {v.getBackground().setColorFilter(Color.GREEN, Mode.ADD); 
        t.cancel(); 
        v.setEnabled(false); 

        //R1state=true; 
        } 
        else 
        { t.schedule(scanTask, 300, 30000); 
         v.getBackground().setColorFilter(Color.RED, Mode.ADD); 
        R1state=false; 
        } 
        ; 
       } 
      });; 

risposta

2

appena lanciato Vista per Button:

@Override 
public void onClick(final View v) 
{ 
    Button btn = (Button) v; 
    btn.setText("YourText"); 
}