当前位置: 代码迷 >> Android >> setContentView(R.layout.main) 可以动态实现吗?解决办法
  详细解决方案

setContentView(R.layout.main) 可以动态实现吗?解决办法

热度:43   发布时间:2016-04-28 04:26:57.0
setContentView(R.layout.main) 可以动态实现吗?
在开发过程中,发现setContentView(R.layout.main);这条语句在执行前有个前提,那就是必须先build工程,可不可以使用其它方法实现这个功能啊?有没有什么get方法可以代替啊?求大侠指导。。。
另外如果用setContentView(R.layout.main);这样来实现,main.xml是什么样的?具体到value值,本人小菜鸟一个,求大神指导。。越详细越好,不甚感激啊!~
------解决方案--------------------
通过layoutInflate来inflate呗
------解决方案--------------------
main.xml是你UI布局文件,R.layout.main嘛其实就是个ID号,这样才能找到这个main.xml布局文件进行布局。
setContentView也可以是直接setContentView(View view),view是你要设置的视图类
------解决方案--------------------
引用:
main.xml是你UI布局文件,R.layout.main嘛其实就是个ID号,这样才能找到这个main.xml布局文件进行布局。
setContentView也可以是直接setContentView(View view),view是你要设置的视图类

赞一个
------解决方案--------------------
看二楼

从描述看,楼主对Android Project基本结构不了解,给你个链接学习一下:
http://www.cnblogs.com/chunhui588/archive/2010/07/16/android-project-structure.html

setContentView包括其重载方法都可以动态调用,调用后整个界面就会被替换

一楼说的inflater是动态加载布局,常用于ListView、GridView等Item的实现,可以动态加载一个xml布局,然后就可以使用了
------解决方案--------------------
引用:
Android Project基本结构多少我还是了解一些的,我只是觉得这样创建视图方法有些太死了,想用其它方法来实现。尤其是对gen里的R的使用,因为有很多时候我们不方便直接使用R,请问有其它方法吗?请问有其它方法吗?


Android的设计就是布局文件根据其名称在R.java内生成对应的ID,然后使用R.layout.xxx来获取布局文件。

不方便直接使用R?未见过这种需求。
------解决方案--------------------
自己建viewgroup然后自己一个个view来add
或者自己建canvas 自己绘制
只是少量改动的话 自己重载一个view 然后实现inflate或者ondraw吧
  相关解决方案