我们在开发App Widget时候,要创建一个RemoteView来呈现界面。但是会发现如果我们想要控制RemoteView中的view时候是无法使用findViewbyId来控制Child View对象。

从目前SDK情况看,android为我们了一些解决方法。

Remote View提供了一些方法可以操控child view。在文档中可以查到如下函数:
SetBitmap,SetBoolean,SetBundle,setImageViewBitmap,setInt...
1. 第一个参数int viewId来确定操作哪个view
2. 第二个参数 methodName,是第一个参数view对象里面提供的函数方法的名称,是个字符串类型。比如“setVisibility”
3. 第三个参数 一般依据函数格子不同,但是其实质就是第二个参数methodName所需要的参数。

举例:
    如果我们需要把widget中的一个view临时隐藏,我们可以这样调用:remoteviews.setInt(textviewid,"setVisibility",VIEW.INVISIBLE);
    又如,我们改变textview中一些字符串,可以调用:remoteviews.setInt(R.id.updatedate, "setText", R.string.updateinfor);
关键是理解第2个和第3个参数。

当然一般情况下对image,text,visible,我们没有必要麻烦,可以直接调用setViewVisibility,setTextViewText,setImageViewResource。

但是并不是所有的child view方法都可以调用,因为透过Remote View提供的方法是有限的。如,当我们希望调用一个不带参数的函数时就无能为力(就目前SDK看)。
期望后续Android会改善。

转载请注明原作者与出处,谢谢!

Android App Widget中如何调用RemoteView中的函数相关推荐

  1. Android App Widget 开发

    概述 App Widget是应用程序窗口小部件(Widget),是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新.你可以通过一个App Widget Provider来 ...

  2. android oncreate调用,Android app启动activity并调用onCreate()方法时都默默地干了什么?...

    在AndroidManifest.xml文件中的元素中有这么两句: 当写好的应用发布到手机上之后,当双击"APP"应用的图标时,系统会将这个点击时间包装成一个Intent,该Int ...

  3. java中怎样调用抽象类中的非抽象方法?(对原文做修改,加入一点自己理解)

    问: 例如:我有一个抽象类BaseStudentDAO,类中有一个非抽象方法load,我该怎样调用load这个方法? 答: 想调用BaseStudentDAO中的非抽象方法load,如果load方法是 ...

  4. c语言中怎么调用自己定义的函数,c语言中怎么调用自己定义的函数?

    一,函数调用的一般形式为: 函数名(实参列表); 实参可以是常数.变量.表达式等,多个实参用逗号,分隔. 在C语言中,函数调用的方式有多种,例如: 在函数调用中还应该注意的一个问题是求值顺序的问题.所 ...

  5. Android App开发之位图加工Bitmap中转换位图的像素色彩、裁剪内部区域、利用矩阵变换位图的讲解及实战(附源码和演示)

    需要图片集和源码请点赞关注收藏后评论区留言~~~ 一.转换位图的像素色彩 给图片添加装饰物,只是在局部变换,如果想让图片一边保持轮廓一边改变色彩,就要深入图像的每个像素点,将这些像素点统统采取某种算法 ...

  6. Java SpringMvc+hibernate架构中,调用Oracle中的sp,传递数组参数

    一.问题 我们调用数据,大都是可以直接获取表中的数据,或者用复杂点的sql语句组成的.但是,有时候,当这样达不到我们要的全部数据的时候,这时,我们就用到了存储过程[sp],如果sp需要参数是数组的话, ...

  7. [LinqPad妙用]-在Net MVC中反射调用LinqPad中的Dump函数

    LinqPad有个非常强大的Dump函数.这篇讲解一下如何将Dump函数应用在.Net MVC Web开发中. 先看效果: 一.用.Net Reflector反编译LinqPad.exe,找出Dump ...

  8. c语言如何调用外部文件的函数调用,keil 中如何调用其他文件的函数

    建立一个和这个C文件同名的H文件,把这个C文件中的函数都包含到这个H文件中就ok! 例如:有这样一个serial.C文件: /************************************* ...

  9. 在VSTO界面中,调用xll中的函数

    最近研究各种有点迷茫了,原来Xll的加载宏直接可以在C#中调用的,我又各种Out了. 先说明一下,在VBA中,如何调用吧 XLLFound = Application.RegisterXLL(This ...

最新文章

  1. ASP.net获取当前url各种属性(文件名、参数、域名 等)的方法
  2. Go语言可能会遇到的坑
  3. 关于 href=javascript:; 到底做了什么
  4. C++(四)——类和对象(下)
  5. Java异常处理基础
  6. 【OS学习笔记】五 VirtualBox的下载、安装和配置
  7. 如何切换svn用户?
  8. Mac终端编c语言,【新手提问】有知道用mac终端编c语言的网络编程的人吗?
  9. 雷军凌晨2点下班、刘强东睡4小时,这碗鸡汤程序员你必须干了
  10. 机器学习中的数学系列
  11. 夜曲编程python_python入门‼️夜曲编程‼️
  12. 580刷590bios_身价瞬间涨几百 RX 480刷bios变身RX 580
  13. 【基于物理的渲染(PBR)白皮书】(四)法线分布函数相关总结
  14. Visual Studio 2017中找不到商业智能(Business Intelligence)模块 |
  15. 远程桌面蓝屏解决办法
  16. 自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别
  17. 如何获取淘宝店铺详情数据接口
  18. 【大咖说:绿色低碳的生活该是什么样子?】
  19. 发送测试电子邮件消息 响应服务器 550,Microsoft SMTP 服务器在第三方测试中可能显示为能够接受并中继电子邮件...
  20. TCP/IP详解--接收RST回应的几种情况

热门文章

  1. 韦神!北大数学系韦东奕爆红!拒绝哈佛offer,留任北大!
  2. tomcat下载与安装win11
  3. 域名和URL是什么?域名和IP是一一对应的吗?
  4. win7驱动程序未经签名可以使用吗_windows-7 – Windows7引导选项,允许忽略未签名的驱动程序...
  5. 阿里巴巴《Linux命令行与shell脚本编程大全》高清版 PDF 开放下载
  6. 数组(一维数组与二维数组)
  7. nRF24L01+不能接收或接收偶尔异常等问题实战分享
  8. 【项目分享~写给应届生的一篇文章】基于Web电影院购票系统 ~~ 选座模块
  9. Java Application 程序
  10. 这11个免费学习的网站,个个堪称神器,不收后悔!