首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >View.getContext返回null,为什么?

View.getContext返回null,为什么?
EN

Stack Overflow用户
提问于 2015-09-08 05:35:36
回答 1查看 6.1K关注 0票数 3

我使用webView和javascript接口,有时当我在WebView上调用loadUrl时,mWebView.getContext()返回null

  1. 一个视图怎么可能没有上下文呢?为什么?
  2. 视图白化上下文是否仍然使用或可重用?
  3. 当我的观点没有背景的时候,我该怎么办?
  4. 最重要的,如果视图没有上下文,mWebView.post(new Runnable() { ...会被执行吗?
  5. 这段代码相关吗? if (Looper.getMainLooper().getThread() == Thread.currentThread()) {mWebView.loadUrl(“javascript:.”);}mWebView.loadUrl{mWebView.post(新的Runnable() { public void (){mWebView.loadUrl(“javascript:.”);});}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-08 05:45:10

[2]空上下文到视图的常见原因:

  • 您试图在异步(处理程序,网络调用)调用的回调中获取上下文,但是由于用户的另一个操作(例如:按回),活动/片段消失了。因此,视图是独立的,不再有上下文。
  • 您的某个地方有内存泄漏,您的活动和视图层次结构有两个或多个实例。然后,在您不再引用的实例中发生了一些事情,但是视图已经失去了与其上下文的链接。

关于处理程序的。我不确定视图是否有自己的处理程序,或者它是否使用它所附加的活动的处理程序,您可能需要阅读源代码才能找到答案。然而,这个问题并不真正相关:如果视图没有上下文,那么您有一个更大的问题:它不在屏幕上。

关于5.中的代码是否相关,您需要回答以下问题:为什么不知道在哪个线程上运行代码?

当您知道自己在哪个线程上时,如果不在主线程上是有意义的,那么使用处理程序是在主线程上执行代码的有效方法。以及Activity.runOnUiThread()

请记住,Handler的生命周期与活动无关。因此,当您的活动/片段暂停时,您应该清除消息队列和运行程序。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32459297

复制
相关文章
在idea中创建web项目_idea部署web项目
这个时候给项目命名,我在这里命名为java_web,下面那个可以更改项目存放的路径,我这里放到自定的路径,点击Finish。
全栈程序员站长
2022/08/02
1.6K0
在idea中创建web项目_idea部署web项目
如何在云开发部署React项目
React是目前比较火的前端框架之一,除了可以在自有服务器、Github Pages 部署以外,现在你有了一个新的选择,那就是使用云开发静态网站功能来进行部署。
腾讯云开发TCB
2020/04/13
2.5K0
Python项目部署-使用Nginx部署Django项目
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
1.6K0
Python项目部署-使用Nginx部署Django项目
部署Java项目(Ⅰ)
一、准备私有仓库 之前我所分享到的算是认识Jenkins的各种功能,也算是搭建了一个简单的PHP项目,但是随着这几年JAVA的风生水起,占据了大部分的市场,所以从现在开始分享我把我测试搭建Java项目
老七Linux
2018/05/31
1.7K0
部署Java项目(Ⅱ)
一、安装插件 系统管理 -> 管理插件,检查是否已经安装 Maven Integration plugin 和 Deploy to container Plugin,若没有安装则需要安装这两个插件。
老七Linux
2018/05/31
1.8K0
部署django项目
安装python 依赖组件 sudo apt-get install build-essential autoconf \ libtool pkg-config python-opengl python-imaging \ python-pyrex python-pyside.qtopengl idle-python2.7 \ qt4-dev-tools qt4-designer libqtgui4 libqtcore4 \ libqt4-xml libqt4-test libqt4-script libq
超级大猪
2019/11/22
1.3K0
项目部署
时隔几个月,终于还是把博客项目部署上来了,拖延症一上来就收不住啊。 部署的时候遇到过几个问题:
云边小卖部
2022/12/02
3960
Docker部署项目
Part1文章首推 支付宝接口对接 高德地图调用 验证码登录 QQ邮箱登录 Part2今日主题:Docker部署项目 我用自己的话简单介绍docker是个什么东西吧,可能不太准确。Doker就是一个可以将项目和环境打包成一个镜像的玩意。镜像是什么,就是一个名词,只是别人总喜欢把一些东西搞得很高级而已。 正常来说,我们部署一个项目需要将自己项目的war包或者jar包,放到服务器上,然后安装对应的环境软件:jdk、redis、nginx等等。只要我们每换一个服务器都需要安装这些玩意,是非常的麻烦,docker
java后端指南
2021/09/09
2.2K1
Docker部署项目
spring boot 项目如何在 linux 上部署启动?
待完善。以下方法基于:CentOS Linux release 7.2.1511 (Core) 1打包部署,在spring boot 项目中 添加打包插件依赖
爱明依
2019/03/12
1.6K0
如何在静态网站托管中部署React项目
React是目前比较火的前端框架之一,除了可以在自有服务器、Github Pages部署以外,现在你有了一个新的选择,那就是使用云开发静态网站功能来进行部署。
腾讯云开发TCB
2020/06/03
3.3K0
部署上线-部署Django项目
启动命令:python manage.py runserver 0.0.0.0:8000
星哥玩云
2022/09/14
1.5K0
部署上线-部署Django项目
springbot项目中MyBatis结合JPA排错
这里面的错误,我心想这个查询语句不会有错吧!写过这些多基础的东西,这个都会错那估计呀自刎以谢天下了。于是我就把项目更新重启了一下,结果还是报一样的错,没办法,没法相信自己了,跟着代码一步步的进去。
技术从心
2019/08/06
4900
springbot项目中MyBatis结合JPA排错
springboot支付项目之springboot集成jpa
我们遵从MVC三层模式,DAO层设计与开发、Service层设计与开发以及Controller层。
凯哥Java
2019/09/20
8530
springboot支付项目之springboot集成jpa
springboot支付项目之springboot集成jpa
我们遵从MVC三层模式,DAO层设计与开发、Service层设计与开发以及Controller层。
凯哥Java
2022/12/15
6540
springboot支付项目之springboot集成jpa
21.多端项目上线部署(3)部署前端项目newpc
在newpc目录下,将node_modules目录删除,然后将newpc项目打包为zip包
玩蛇的胖纸
2020/07/07
7130
JavaEE - JPA(2):EJB中的事务管理
对于任何一个需要持久化数据的应用而言,事务划分(Transaction Demarcation)的规划都是非常重要的一环。如果规划的不好,轻则影响性能,重则会导致在某些情况下数据发生不一致,从而严重影响业务逻辑的顺利进行。
java干货
2021/02/17
9330
Java EE7和Maven工程入门(4)
1.一个web maven模块(war) 2.一个支持无状态会话beans的ejb模块(EJB3.1) 3.支持实体beans的ejb模块(JPA2)
哲洛不闹
2018/09/18
8840
Java EE7和Maven工程入门(4)
部署Spring Boot项目
之前在新建Spring Boot项目[1]使用mvn install的方式,已经构建出jar包。
fliter
2023/09/23
2930
部署Spring Boot项目
Django 项目部署
  按照 Django 官方文档的指引,我们已经做好了一个投票应用。我们是在本地开发的,项目最终上线是要部署到服务器上的,本篇笔记记录了我个人部署的整个过程,仅供参考。
小孙同学
2022/01/17
2.6K0
Django 项目部署
Docker部署web项目
  docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
程序员云帆哥
2022/05/12
1.9K0
Docker部署web项目

相似问题

如何使用JPA、EJB和CDI元素创建JBoss EAR项目

23

如何在ibm bluemix中部署包含ejb、war和ear maven项目

10

Eclipse中的JPA项目和EJB项目有什么不同?

30

eclipse中的两个不同项目:(JPA & EJB)在EAR项目中(CDI问题)

37

分级部署项目到ear

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文