Java 为什么runnable在我的小部件中停止?
我有以下代码更新我的文本查看总数据流量(MB)。首先,当您在屏幕上加载小部件时,它会运行,但随后会停止。 我用Log.d检查了Runnable,它停止了运行。为什么? 你能帮我吗Java 为什么runnable在我的小部件中停止?,java,android,widget,runnable,traffic,Java,Android,Widget,Runnable,Traffic,我有以下代码更新我的文本查看总数据流量(MB)。首先,当您在屏幕上加载小部件时,它会运行,但随后会停止。 我用Log.d检查了Runnable,它停止了运行。为什么? 你能帮我吗 public class TdWidget extends AppWidgetProvider { private static long mStartRX = 0; private static Handler mHandler = new Handler(); RemoteViews remoteViews; A
public class TdWidget extends AppWidgetProvider {
private static long mStartRX = 0;
private static Handler mHandler = new Handler();
RemoteViews remoteViews;
AppWidgetManager appWidgetManager;
ComponentName thisWidget;
public void init(Context context,AppWidgetManager appWidgetManager)
{
mStartRX = TrafficStats.getTotalRxBytes();
remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
this.appWidgetManager = appWidgetManager;
thisWidget = new ComponentName(context, TdWidget.class);
mHandler.postDelayed(mRunnable, 1000);
}
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
init(context, appWidgetManager);
}
private final Runnable mRunnable = new Runnable() {
public void run() {
Log.d("Runnable","*********RUNNABLE*******");
float dwBytes = TrafficStats.getTotalRxBytes()- mStartRX;
float dwBytesf = dwBytes/1048576;
remoteViews.setTextViewText(R.id.txtshow, "MB Dwn= " + String.format("%.2f", dwBytesf));
appWidgetManager.updateAppWidget(thisWidget, remoteViews);
mHandler.postDelayed(mRunnable, 1000);
}
};
}
你能试一试吗如果我把你的问题说清楚的话
private final Runnable mRunnable = new Runnable() {
public void run() {
Log.d("Runnable","*********RUNNABLE*******");
another();
}
private void another(){
float dwBytes = TrafficStats.getTotalRxBytes()- mStartRX;
float dwBytesf = dwBytes/1048576;
remoteViews.setTextViewText(R.id.txtshow, "MB Dwn= " + String.format("%.2f", dwBytesf));
appWidgetManager.updateAppWidget(thisWidget, remoteViews);
try{ Thread.sleep(1000); }catch(Exception ex){ Log.e("Exception"," : "+ex.getMessage()) }
another();
}
};
它不起作用,其他方法无法解决。但是谢谢!!这行代码是从哪里来的。。另一种方法无法解决另一种方法;进入另一方,或在另一方私下无效;未重新查询时应为。我将其放入类中,并且在睡眠块中接受semi-collon after Log语句时没有错误。我可以执行您的代码,但它不起作用。日志没有显示任何错误。小部件在OneEnabled中停止,我不知道原因