मुझे अपने यूआई को हर सेकेंड रननेबल/हैंडलर से अपडेट करने में थोड़ी मदद चाहिए। मैं इस कोड का उपयोग कर रहा:हैंडलर से एंड्रॉइड अपडेट ui हर दूसरे
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));
}
});
}
};
मैं onCreate()
में handler.postDelayed(runnable, 1000);
साथ कोशिश की, लेकिन runnable कभी नहीं शुरू होता है। या यहां तक कि अगर मैं runnable.run();
के साथ प्रयास करता हूं, तो यह अभी भी काम नहीं कर रहा है।
कोई विचार मैं कैसे चलने योग्य/हैंडलर शुरू कर सकता हूं और प्रत्येक सेकेंड को ui अपडेट कर सकता हूं?
और मैं इसे कैसे उस के बाद बंद कर सकते हैं:
इस प्रयास करें? मेरा मतलब है कि मुझे केवल तभी चलाने की ज़रूरत है जब मुझे इंटरनेट पर डेटा मिल रहा हो और मैं गतिविधि खत्म होने के बाद रननेबल को रोकना चाहता हूं या उपयोगकर्ता रद्द बटन पर क्लिक करना चाहता हूं। –
ने मेरा उत्तर अपडेट किया और ध्वज – WarrenFaith
वास्तव में 'हैंडलर.remove कॉलबैक (रननेबल) पेश किया; 'वही काम कर रहा है। –