天堂向右,我依然向左

天下之大,虽离家千里,何处不可往!何事不可为!
生活之路,纵坎坷曲折,当奋斗不息,则精彩纷呈!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  187 随笔 :: 63 文章 :: 113 评论 :: 25万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

       今天做Android开发时,碰到一个非常奇怪的问题,我在一个ViewGroup中,动态创建两个自定义的View,然后对它们进行setVisibility操作,结果悲剧了,自定义的View一点反应都没有。

 

大概的伪代码是这样子的:

复制代码
MyView extends View {
   
/**************/
   inflate(context, res, rootView);
}

//调用
View v1 = new MyView();
View v2 
= new Myview();

v1.setVisibility(View.GONE);
//根本不起作用
v2.setVisibility(View.VISIBLE);

复制代码

 

PS:问题已经解决。原来是绑定xml的方式不同造成,换一种就可以解决:

复制代码
//不OK的方式
inflate(context, res, rootView);


//OK的方式
_view = LayoutInflater.from(context).inflate(res, null);
rootView.addView(_view);

//两种方式都可以正常显示界面,至于根本原因,尚未得知.
复制代码

 

 

 

posted on   老舟  阅读(3844)  评论(5编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示