I need a little help updating my interface from Runnable / Handler every second. I am using this code:
Runnable runnable = new Runnable() { @Override public void run() { handler.post(new Runnable() { @Override public void run() { prBar.setProgress(myProgress); y = (double) ( (double) myProgress/ (double) RPCCommunicator.totalPackets)*100; txtInfoSync1.setText(Integer.toString((int)y) + "%"); prBar.setMax(RPCCommunicator.totalPackets); int tmp = totalBytesReceived - timerSaved; Log.w("","totalBytesReceived : "+totalBytesReceived + " timerSaved : "+timerSaved ); Log.w("","tmp : "+tmp); if (avgSpeedCalc.size() > 10) { avgSpeedCalc.remove(0); } avgSpeedCalc.add(tmp); int x = 0; for (int y=0;y<avgSpeedCalc.size();y++) { x += avgSpeedCalc.get(y); Log.d("","x : "+x); } x = Math.round(x/avgSpeedCalc.size()); Log.e("","x : "+x); timerSaved = totalBytesReceived; txtSpeed.setText(Integer.toString(x)); } }); } };
I tried with handler.postDelayed(runnable, 1000);
in onCreate()
, but runnable never starts. Or even if I try with runnable.run();
It still doesn't work.
Any ideas how I can run runnable / handler and update ui every second?
source share