Android的Appwidget TextView中没有更新(Android(安卓)Appwidget textview not updating)
Android的Appwidget TextView中没有更新(Android Appwidget textview not updating)
Android IT屋 2016/2/23 11:10:12 百度翻译此文 有道翻译此文 问 题Hi im having a very weird problem with my android widget, ive looked extensivly in many places but I cant seem to figure out whats wrong. basically im calling a pendingintent broadcast in my widget and in sucessfully catching that intent in the onrecivie method.
However in the onRecive method, when I try to set the text using RemoteViews for my component, the text does not update nor is any error called. I have attached my code below, any help would be great.
Thanks, M
package com.android.FirstWidget;import android.app.PendingIntent;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.ImageButton;import android.widget.RemoteViews;public class ExampleAppWidgetProvider extends AppWidgetProvider { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.e("ds",intent.getAction()); Log.e("f","f"); if(intent.getAction().contains("1")){ RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.wid); views.setTextViewText(R.id.textView1,"heyheyhey"); Log.e("fssss","sssf"); } super.onReceive(context, intent); } public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { final int N = appWidgetIds.length; // Perform this loop procedure for each App Widget that belongs to this provider for (int i=0; i解决方案 You need to add couple of lines to the end of onRecieve method.... it should go like this..
package com.android.FirstWidget;import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ImageButton; import android.widget.RemoteViews; public class ExampleAppWidgetProvider extends AppWidgetProvider { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.e("ds",intent.getAction()); Log.e("f","f"); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.wid); if(intent.getAction().contains("arrow_left")){ views.setTextViewText(R.id.textView1,"left"); Log.e("fssss","sssf"); } else if(intent.getAction().contains("arrow_right")){ views.setTextViewText(R.id.textView1,"right"); Log.e("fssss","sssf"); } else { super.onReceive(context, intent); } ComponentName componentName = new ComponentName(context, ExampleAppWidgetProvider.class); AppWidgetManager.getInstance(context).updateAppWidget(componentName, views); } public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { final int N = appWidgetIds.length; // Perform this loop procedure for each App Widget that belongs to this provider for (int i=0; iAlso though I believe what you have coded should work, but if not you can try putting the intent action for the buttons in the manifest file. It should go like this
I guess this should work now. I just happen to stumble into this problem myself, and found solution here : Clickable widgets in android
本文地址:IT屋 » Android Appwidget textview not updating
问 题有我的Android小工具一个很奇怪的问题嗨即时消息,香港专业教育学院extensivly看了很多地方,但我似乎无法弄清楚什么是错。基本上即时调用我的窗口小部件,并在成功地抓住这一意图在onrecivie方法的PendingIntent播出。
然而,在onRecive方法,当我尝试设置使用RemoteViews我的组件中的文本,该文本不更新,也不是所谓的任何错误。我重视我的低于code,任何帮助将是巨大的。
谢谢,
中号包com.android.FirstWidget;进口android.app.PendingIntent;
进口android.appwidget.AppWidgetManager;
进口android.appwidget.AppWidgetProvider;
进口android.content.Context;
进口android.content.Intent;
进口android.os.Bundle;
进口android.util.Log;
进口android.view.View;
进口android.widget.ImageButton;
进口android.widget.RemoteViews;公共类ExampleAppWidgetProvider扩展AppWidgetProvider { @覆盖
公共无效的onReceive(上下文的背景下,意图意图){
// TODO自动生成方法存根
Log.e(“DS”,intent.getAction());
Log.e(“F”,“F”);
如果(intent.getAction()。包含(“1”)){ RemoteViews意见=新的RemoteViews(context.getPackageName(),R.layout.wid);
views.setTextViewText(R.id.textView1“heyheyhey”);
Log.e(“fssss”,“单一小规模设施”);
}
super.onReceive(背景下,意图);
} 公共无效的onUpdate(上下文的背景下,AppWidgetManager appWidgetManager,INT [] appWidgetIds){
最终诠释N = appWidgetIds.length; //执行的每个应用程序窗口小部件属于此提供这一循环过程
的for(int i = 0; I< N;我++){
INT appWidgetId = appWidgetIds [I] //创建一个Intent推出为ExampleActivity
意向意图=新意图(背景下,ExampleAppWidgetProvider.class);
intent.setAction(“1”);
的PendingIntent的PendingIntent = PendingIntent.getBroadcast(上下文,0,意图,0);
//获取为App插件的布局并附加上单击监听器
//到按钮
RemoteViews意见=新的RemoteViews(context.getPackageName(),R.layout.wid);
views.setOnClickPendingIntent(R.id.arrowLeft,的PendingIntent);
views.setOnClickPendingIntent(R.id.arrowRight,的PendingIntent);
//views.set
//告诉AppWidgetManager对当前应用程序窗口小部件进行更新
appWidgetManager.updateAppWidget(appWidgetId,意见); } }
}
解决方案您需要几行代码添加到onRecieve方法的末尾....它应该是这样..
包com.android.FirstWidget;进口android.app.PendingIntent;
进口android.appwidget.AppWidgetManager;
进口android.appwidget.AppWidgetProvider;
进口android.content.Context;
进口android.content.Intent;
进口android.os.Bundle;
进口android.util.Log;
进口android.view.View;
进口android.widget.ImageButton;
进口android.widget.RemoteViews; 公共类ExampleAppWidgetProvider扩展AppWidgetProvider {
@覆盖
公共无效的onReceive(上下文的背景下,意图意图){
// TODO自动生成方法存根
Log.e(“DS”,intent.getAction());
Log.e(“F”,“F”); RemoteViews意见=新的RemoteViews(context.getPackageName(),R.layout.wid);
如果(intent.getAction()。包含(“arrow_left”)){
views.setTextViewText(R.id.textView1,“左”);
Log.e(“fssss”,“单一小规模设施”);
}
否则如果(intent.getAction()。包含(“ARROW_RIGHT”)){
views.setTextViewText(R.id.textView1,“右”);
Log.e(“fssss”,“单一小规模设施”);
} 其他{
super.onReceive(背景下,意图);
}
组件名组件名=新的组件名(背景下,ExampleAppWidgetProvider.class);
AppWidgetManager.getInstance(上下文).updateAppWidget(组件名,意见);
} 公共无效的onUpdate(上下文的背景下,AppWidgetManager appWidgetManager,INT [] appWidgetIds){
最终诠释N = appWidgetIds.length; //执行的每个应用程序窗口小部件属于此提供这一循环过程
的for(int i = 0; I< N;我++){
INT appWidgetId = appWidgetIds [I] //创建一个Intent推出为ExampleActivity
意向意图=新意图(背景下,ExampleAppWidgetProvider.class);
intent.setAction(“arrow_left”);
的PendingIntent的PendingIntent = PendingIntent.getBroadcast(上下文,0,意图,0);
//获取为App插件的布局并附加上单击监听器
//到按钮
RemoteViews意见=新的RemoteViews(context.getPackageName(),R.layout.wid);
views.setOnClickPendingIntent(R.id.arrowLeft,的PendingIntent); 意图=新意图(背景下,ExampleAppWidgetProvider.class);
intent.setAction(“ARROW_RIGHT”);
的PendingIntent = PendingIntent.getBroadcast(背景下,0,意向,
views.setOnClickPendingIntent(R.id.arrowRight,的PendingIntent);
//views.set
//告诉AppWidgetManager对当前应用程序窗口小部件进行更新
appWidgetManager.updateAppWidget(appWidgetId,意见); } }
}
另外,虽然我相信你有什么codeD应该工作,但如果没有,你可以尝试把意图行动的按钮在清单文件中。它应该是这样的。
<意向滤光器>
<作用机器人:名字=“android.appwidget.action.APPWIDGET_UPDATE”/>
<作用机器人:名字=“com.android.FirstWidget.arrow_left”/>
<作用机器人:名字=“com.android.FirstWidget.arrow_right”/>
&所述; /意图滤光器>
我想现在应该工作。我只是碰巧跌入这个问题我自己,发现这里的解决方案:在Android 可点击小工具
本文地址:IT屋 » Android的Appwidget TextView中没有更新
为什么MonkeyRunner.waitForConnection()错误"亚洲开发银行ADB拒绝端口转发命令:无法绑定套接字" 如何获得在该地区的蓝牙配对设备 登录
5人参与,5条评论
- 评论
2016年5月31日 6:13 轮OO渡
- 最新评论
很有意思
2016年5月31日 2:47 蘑菇傘下沒彩虹留个脚印~
2016年5月31日 1:43 一年又一年该评论已删除
2016年5月30日 23:35 宇智波_土豪该评论已删除
2016年5月30日 14:23 阳君座围观一下
IT屋正在使用畅言 热评话题关闭 按钮 查看 5条评论
- ModuleNotFoundError:没有名为“__main __。models”的模块; '__main__'不是一个包 - IT屋-程序员软件开发技术分享社区
- Django:ValueError:int()的无效字面值为10: - IT屋-程序员软件开发技术分享社区
- Django元组检查:TEMPLATE_DIRS应该是元组吗? - IT屋-程序员软件开发技术分享社区
- 将引导选项卡链接到服务器URL - IT屋-程序员软件开发技术分享社区
- Java:按长度排序一个单词列表,然后按字母顺序排列 - IT屋-程序员软件开发技术分享社区
- Android的,模糊的位图瞬间? - IT屋-程序员软件开发技术分享社区
- Google App Engine在gcloud更新后部署了Django模块? - IT屋-程序员软件开发技术分享社区
官方微信
【关注微信公众号免费下载本站所有视频】 扫一扫关注官方微信 网友动态12本大神级程序员必读书籍 程序员的鄙视链 程序员的样子 中美印日四国程序员比较 每天工作4小时的程序员 做程序猿的老婆应该注意的一些事情 十大编程算法助程序员走上高手之路 如果编程语言是女人 老程序员的下场 TIOBE 2016年5月编程语言排行榜 Web前端开发推荐书籍 Android 开发者必备书单 程序员应该关注的一些事儿 写给自己也写给你 自己到底该何去何从 牛逼!产品运营必看经典书单 我是如何打败拖延症的 看13位CEO、创始人和高管如何提高工作效率 移动开发必读书单 60个开发者不容错过的免费资源库 团队中“技术大拿”并非越多越好 文章分类 IT屋 版权所有 京ICP备14011762号 · 站点地图 · 站点标签 · © 2016-2017 · 友链 & 合作 交流QQ群:89591454 SiteMap 本站内容来源互联网,如果侵犯您的权益请联系我们删除. 600AD用户没有激活 反馈
- 【浙江省杭州市】网友 正在浏览
Magento的:addAttributeToFilter但忽略...- 【美国】网友 正在浏览
在动画的onFinished事件处理程序使用sh...- 【美国】网友 正在浏览
有效地发现与非零点在SciPy的/ numpy的...- 【广西南宁市】网友 正在浏览
Ruby on Rails:Devise - 首次登录时密...- 【美国】网友 正在浏览
如何嵌入YouTube视频在Android中的WebV...- 【俄罗斯】网友 正在浏览
访问sms收件箱- 【美国】网友 正在浏览
比较批处理文件中的两个数字- 【香港】网友 正在浏览
解析XPath表达式验证- 【英国】网友 正在浏览
在C ++中的依赖注入- 【美国】网友 正在浏览
ViewController responsesToSelector:...- 【四川省成都市】网友 正在浏览
为什么我不能引用System.ComponentMode...- 【俄罗斯】网友 正在浏览
什么是MVC(模型视图控制器)?- 【意大利】网友 正在浏览
绑定到数据源在报表服务器编程一个RDL ...- 【俄罗斯】网友 正在浏览
Python打印不使用__repr__,__unicode_...- 【英国】网友 正在浏览
如何解析原始的HTTP响应,HttpListener...- 【俄罗斯】网友 正在浏览
ARM M4每个周期指令(IPC)计数器- 【美国】网友 正在浏览
安卓:媒体播放器走了与未处理事件- 【广东省深圳市】网友 正在浏览
报告中Genymotion谷歌地图不正确GPS定位...- 【美国】网友 正在浏览
在Pandas中相应地复制另一列的值时,打...- 【美国】网友 正在浏览
传递参数使用ASP存储过程
更多相关文章
- 【Android(安卓)Native Code开发系列】 五 运行、调试编译的Nati
- 王道Java全栈工程师培养计划
- [置顶] 走进android的世界(不断更新中)
- 高煥堂的四本Android开发新書(簡體完整版PDF)
- android adb bundle下载
- 面试例题6:两种方法将图像显示在View上
- Android(安卓)学习笔记
- Android(安卓)开发中遇到的 bug(5)
- Professional Android(安卓)2 Development - 3
随机推荐