..handler.post无法更新UI
Android

如题,代码如下,想更新通知栏的信息,但是只是显示初始值,程序是可以走到 handler.post 的 run 方法里面的,并且 从打印的 log中可以看到数据是有变化的,数据是没有问题的,(初始值就是从某一个log中提取的,没有问题),问题是不它更新通知栏啊...


// 设置初始值
final String[] trafficInfoString ={"<b><font color=#00ff00><b>↑</b></b><b> 145 KB/s</b><b><font color=#CD0000><b>↓</b></b><b>50 KB/s</b>\n"};

Handler handler = new Handler();
Timer timer=new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// 开启一个线程,实时获取流量统计
TrafficStatistics trafficStatistics = trafficManager.getUsageByUidFromSummaryTotal(context, current, current + 2000);

plaintext
复制代码
  trafficInfoString[0] = String.format(trafficInfo[0], tTxBytes/1024, "KB", tRxBytes, "KB");

  handler.post(new Runnable() {
     @Override
     public void run() {
        if (android.os.Build.VERSION.SDK_INT &gt;= android.os.Build.VERSION_CODES.N) {
           Log.d(TAG, "run:SDK_INT &gt; 24-" +  trafficInfoString[0] );
           builder.setContentText(Html.fromHtml(trafficInfoString[0], Html.FROM_HTML_MODE_LEGACY));
        } else {
           Log.d(TAG, "run: &lt;24"  + trafficInfoString[0]);
           builder.setContentText(Html.fromHtml(trafficInfoString[0]));
        }
     }
  });

}
},0,3000);

// 初始值
builder.setContentText(Html.fromHtml(trafficInfoString[0]));

}


编辑器加载中...
木有答案
还没有回答,快来回答这个问题吧!