一个看似简单的问题。findViewById 返回 null int titleId = RUtils.getResId("com.android.internal.R", "id", "title_container"); View titleView = thiz.getWindow().findViewById(titleId);RUtils 是我写的一个工具类, 在此不给出了。cebug的时候可以获取 titleId 但是titleView 确实空,该代码在onCreate执行。 请问这是为啥呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 thiz.getWindow().findViewById(titleId); getWindow() 而不是 context。 还要一定在setContentView 之后调用么?况且我代码中没有这句啊, 只是纯粹的设置title ?? 难道跟这个有关系么? 要么id错了,要么view还没生成。 如果使用 findViewById 方法,必须要在 setContentView 之后才可以用,不然是得不到的 得先加载布局才能findviewbyid到你要的id,要不你的找不到的 看了下ViewGroup 遍历时 flag应该没问题,所以怀疑在decor时没有添加到DecorView有空跟踪下再看看不过即使拿到这个title_container 解决了填充不满的问题,自定义title还会有“载入activity时 屏幕先黑一下”的问题建议还是把自定义title放到main.xml中 估计你是反射得到的titleId,你可以在不同手机上log输出下这个titleId这个应该是一个固定值,是你编译的那个系统的值,但是不同手机的这个系统值 是不同的,所以你得不到解决办法: FrameLayout decorView = (FrameLayout) getWindow().getDecorView(); LinearLayout child = (LinearLayout) decorView.getChildAt(0); FrameLayout titleView = child.getChildAt(0); setContentView 之后用 不先获取xml, xml里的东西你怎么能随便拿???? 不要用应用层的思维来看这个问题setContentView 只是把你自己的布局添加到已有的系统布局中,title_container 是系统的布局中的节点 apk下载到手机内存,安装时解析出错 进来讨论下关于android的学习方向 Android ListView滚动卡 android如何从服务器上循环解析图片 android 中音乐的播放怎么能做比较好 android文件存储的问题 难道没人研究过android上的mplayer吗?? 请大家帮我看一下这段代码的错误在了哪了,运行就提示空指针 fragment中使用自定义的layout出现问题,求教各位! 短信监听程序,收到短信就报错 关于Broadcast接收的问题 求2款Android机器
thiz.getWindow().findViewById(titleId);
getWindow() 而不是 context。 还要一定在setContentView 之后调用么?况且我代码中没有这句啊, 只是纯粹的设置title ??
难道跟这个有关系么?
如果使用 findViewById 方法,必须要在 setContentView 之后才可以用,不然是得不到的
有空跟踪下再看看不过即使拿到这个title_container 解决了填充不满的问题,
自定义title还会有“载入activity时 屏幕先黑一下”的问题建议还是把自定义title放到main.xml中
这个应该是一个固定值,是你编译的那个系统的值,但是不同手机的这个系统值 是不同的,所以你得不到解决办法:
FrameLayout decorView = (FrameLayout) getWindow().getDecorView();
LinearLayout child = (LinearLayout) decorView.getChildAt(0);
FrameLayout titleView = child.getChildAt(0);
不要用应用层的思维来看这个问题
setContentView 只是把你自己的布局添加到已有的系统布局中,
title_container 是系统的布局中的节点