android-应用程序小部件更新TextView
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了android-应用程序小部件更新TextView,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1411字,纯文字阅读大概需要3分钟。
内容图文
![android-应用程序小部件更新TextView](/upload/InfoBanner/zyjiaocheng/653/08de6f96201e4ffab892030559aefc5a.jpg)
我一直在遵循制作Android应用小部件的教程,但遇到了一些麻烦.本教程使我创建了以下代码:
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int [] appWidgetIds) {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new MyTime(context, appWidgetManager), 1, 1000);
}
private class MyTime extends TimerTask {
RemoteViews remoteViews;
AppWidgetManager appWidgetManager;
ComponentName thisWidget;
DateFormat format = SimpleDateFormat.getTimeInstance(SimpleDateFormat.MEDIUM, Locale.getDefault());
public MyTime(Context context, AppWidgetManager appWidgetManager) {
this.appWidgetManager = appWidgetManager;
remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
thisWidget = new ComponentName(context, FlipWidget.class);
}
@Override
public void run() {
remoteViews.setTextViewText(R.id.widget_text, "Time: "+format.format(new Date()));
appWidgetManager.updateAppWidget(thisWidget, remoteViews);
}
}
但是似乎从未调用过run方法,因为TextView从未更改.感谢您的帮助,我很想了解App Widgets.
缺口
解决方法:
首先,您不能使用计时器.一旦onUpdate()返回,您的AppWidgetProvider和Timer将被垃圾回收.
其次,请不要每秒更新一次应用小部件. android:updatePeriodMillis至少有30分钟的时间是有原因的-将更新推送到应用小部件是一项昂贵的操作.每秒更新一次,不仅会迫使您的“更新应用程序小部件”代码有效地驻留在内存中并一直在运行,而且您还将大大消耗用户的电量.
要定期更新应用程序小部件,请使用android:updatePeriodMillis或使用AlarmManager.
内容总结
以上是互联网集市为您收集整理的android-应用程序小部件更新TextView全部内容,希望文章能够帮你解决android-应用程序小部件更新TextView所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。