setContentView(R.layout.main) 可以动态实现吗?

幸运小喵 2014-07-10 10:34:55
在开发过程中,发现setContentView(R.layout.main);这条语句在执行前有个前提,那就是必须先build工程,可不可以使用其它方法实现这个功能啊?有没有什么get方法可以代替啊?求大侠指导。。。
另外如果用setContentView(R.layout.main);这样来实现,main.xml是什么样的?具体到value值,本人小菜鸟一个,求大神指导。。越详细越好,不甚感激啊!~
...全文
312 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
幸运小喵 2014-08-01
  • 打赏
  • 举报
回复
本人来结帖了,哈哈。。。来,我告诉你们怎么动态取R哈,会的可以不看哈~ 方法一: Resources resources = mContext.getResources(); //获取layout文件夹底下的文件的id号 int indentify = resources.getIdentifier(mContext.getPackageName()+":layout/"+"startview", null, null); 方法二: Resources mRes = mContext.getResources(); int iTitleID = mRes.getIdentifier("quit_dlg_title", "string", mContext.getPackageName()); 其实就是用其它方法取代直接调用R的这么一个实现,为什么有这个需求?太简单了,如果做一个项目要用到多个平台,那你的包名要按平台的需求来改,那你程序里要改来改去,岂不烦死?这招好不好使用了再说,哇哈哈!~~是不是很得瑟啊?其实这是俺公司一大牛帮我解决的,厉害啊!~
妖怪 2014-07-12
  • 打赏
  • 举报
回复
自己建viewgroup然后自己一个个view来add 或者自己建canvas 自己绘制 只是少量改动的话 自己重载一个view 然后实现inflate或者ondraw吧
monodin 2014-07-11
  • 打赏
  • 举报
回复
看二楼 从描述看,楼主对Android Project基本结构不了解,给你个链接学习一下: http://www.cnblogs.com/chunhui588/archive/2010/07/16/android-project-structure.html setContentView包括其重载方法都可以动态调用,调用后整个界面就会被替换 一楼说的inflater是动态加载布局,常用于ListView、GridView等Item的实现,可以动态加载一个xml布局,然后就可以使用了
妮_梦 2014-07-11
  • 打赏
  • 举报
回复
引用 2 楼 sagittarius1988 的回复:
main.xml是你UI布局文件,R.layout.main嘛其实就是个ID号,这样才能找到这个main.xml布局文件进行布局。 setContentView也可以是直接setContentView(View view),view是你要设置的视图类
赞一个
sagittarius1988 2014-07-11
  • 打赏
  • 举报
回复
main.xml是你UI布局文件,R.layout.main嘛其实就是个ID号,这样才能找到这个main.xml布局文件进行布局。 setContentView也可以是直接setContentView(View view),view是你要设置的视图类
androidfordahai 2014-07-11
  • 打赏
  • 举报
回复
通过layoutInflate来inflate呗
monodin 2014-07-11
  • 打赏
  • 举报
回复
引用 5 楼 cuihao1234 的回复:
Android Project基本结构多少我还是了解一些的,我只是觉得这样创建视图方法有些太死了,想用其它方法来实现。尤其是对gen里的R的使用,因为有很多时候我们不方便直接使用R,请问有其它方法吗?请问有其它方法吗?
Android的设计就是布局文件根据其名称在R.java内生成对应的ID,然后使用R.layout.xxx来获取布局文件。 不方便直接使用R?未见过这种需求。
幸运小喵 2014-07-11
  • 打赏
  • 举报
回复
Android Project基本结构多少我还是了解一些的,我只是觉得这样创建视图方法有些太死了,想用其它方法来实现。尤其是对gen里的R的使用,因为有很多时候我们不方便直接使用R,请问有其它方法吗?请问有其它方法吗?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧