setContentView(转)

android开发中如果想实现布局页面的跳转可以使用setContentView()设置跳转到需要的布局文件上面,实现代码如下:

Java代码  

  1. package com.lyj.demo;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.Button;
  6. /**
  7. *
  8. * @author lyj
  9. *  实现不同Layout的转换功能,setContentview()用法;
  10. */
  11. public class setContentViewDemo extends Activity {
  12. /** Called when the activity is first created. */
  13. @Override
  14. public void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.main);
  17. // 以findViewById()取得Button对象并添加事件onClickLisener
  18. Button button1=(Button)findViewById(R.id.bt1);
  19. button1.setOnClickListener(new Button.OnClickListener(){
  20. @Override
  21. public void onClick(View v) {
  22. goToLayout2();
  23. }});
  24. }
  25. // 将layout由main.xml切换成mylayout.xml
  26. public void goToLayout2() {
  27. // 将layout改成mylayout
  28. setContentView(R.layout.mylayout);
  29. Button b2 = (Button) findViewById(R.id.bt2);
  30. b2.setOnClickListener(new Button.OnClickListener() {
  31. public void onClick(View v) {
  32. goToLayout1();
  33. }
  34. });
  35. }
  36. // 将layout由mylayout.xml切换成main.xml
  37. public void goToLayout1() {
  38. setContentView(R.layout.main);
  39. Button bt1 = (Button) findViewById(R.id.bt1);
  40. bt1.setOnClickListener(new Button.OnClickListener() {
  41. public void onClick(View v) {
  42. goToLayout2();
  43. }
  44. });
  45. }
  46. }

 主布局的mai.xml

Java代码  

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <TextView
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:text="欢迎来到小李的博客"
  11. />
  12. <Button
  13. android:id="@+id/bt1"
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content"
  16. android:text="点击进入Layout2"
  17. />
  18. </LinearLayout>

需要跳转到的布局文件mylayout.xml

Java代码  

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. android:background="#ffffffff"
  7. >
  8. <TextView
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. android:text="Welcom to my bog"
  12. />
  13. <Button
  14. android:id="@+id/bt2"
  15. android:layout_width="fill_parent"
  16. android:layout_height="wrap_content"
  17. android:text="点击进入Laout1"
  18. />
  19. </LinearLayout>
时间: 2024-10-07 07:37:19

setContentView(转)的相关文章

android setContentView

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha setContentView  这个 就是 设置内容视图. 装饰视图 DecorView 是 最顶层的 视图, 一般情况下,它内部 包含一个  竖直方向的 线性布局. 这个布局包含 上下两个部分,上面是标题栏,下面是内容栏. 活动中 通过 设置内容视图, 实际就是添加在 内容栏 之中. 内容栏的 id  是 content. 可以通过 查找视图通过id(R.安卓.id.content

android LayoutInflater、setContentView、findviewbyid 区分解析

一.LayoutInflater.inflate(layoutId, root, boolen)中三个参数的意义及作用 (这点可以参考鸿洋前辈博客地址:http://blog.csdn.net/lmj623565791/article/details/38171465) 主要知识点其实很少,如下: 若temp为layoutId所代表的布局,inflate的三种方法区分如下: View view=LayoutInflater.Inflate(layoutId, null )只创建temp ,返回t

Android应用setContentView与LayoutInflater加载解析机制源码分析

[工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处,尊重分享成果] 1 背景 其实之所以要说这个话题有几个原因: 理解xml等控件是咋被显示的原理,通常大家写代码都是直接在onCreate里setContentView就完事,没怎么关注其实现原理. 前面分析<Android触摸屏事件派发机制详解与源码分析三(Activity篇)>时提到了一些关于布局嵌套的问题,当时没有深入解释. 所以接下来主要分析的就是View或者ViewGroup对象是如何添加至应用程

视图:setContentView()

1.setContentView的作用是将View加载到根view之上,这样当显示view时,先显示根view,然后在显示子view,以此类推,最终将所有view显示出来. 2.setContentView必须要放在findviewbyid之前,因为view在加载之前是无法引用的. 3.setContentView最本质的作用是为要显示的view分配内存. 4.activity.window和view之间的关系: 而当我们运行程序的时候,有一个setContentView()方法,Activit

Andriod——setContentView( )方法

setContentView( )方法 setContentView(R.layout.main)在Android里面,这句话是什么意思? R.layout.main是个布局文件即控件都是如何摆放如何显示的,setContentView就是设置一个Activity的显示界面,这句话就是设置这个这句话所再的Activity采用R.layout下的main布局文件进行布局 使用setContentView可以在Activity中动态切换显示的View,这样,不需要多个Activity就可以显示不同的

setContentView(R.layout.activity_main) Error解决方法

今天在写Android代码的过程中,编译器一直报错,错误出在这一行代码: setContentView(R.layout.activity_main) 提示信息是:activity_main cannot be resolved or is not a field我就觉得很奇怪,我在R.layout里面明明看到自动生成了默认的布局activity_main,为什么在这里引用就出错呢.Google之也没发现原因,而且,如果删掉activity_main,Eclipse给出的自动提示是activit

1.Android 视图及View绘制分析笔记之setContentView

自从1983年第一台图形用户界面的个人电脑问世以来,几乎所有的PC操作系统都支持可视化操作,Android也不例外.对于所有Android Developer来说,我们接触最多的控件就是View.通常,我们使用自定义View,需要了解最多的除了事件分发,就是View的绘制过程.然而关于View的绘制,涉及到的知识点纷繁复杂,这么多的代码知识,要梳理起来,肯定是先要找个头.那么平常我们用的最多的方法是哪个方法呢?当然是setContentView()! setContentView 首先我们直接在

setContentView()给当前Activity加载布局出错

从无到有创建Activity,加载布局的时候用setContentView()方法加载布局的时候出错了,刚开始学android开发也不太懂,上网查了下,发现是Andriod SDK会自动提供一个android包下的R文件,而加载布局要用到的R,应该是当前使用的包下的R文件. 错误代码如下: package com.example.antivitytest; import android.R; //Andriod SDK自动提供android包下的R文件 import android.app.Ac

Android 源代码解析 之 setContentView

大家在平时的开发中.对于setContentView肯定不陌生,那么对其内部的实现会不会比較好奇呢~~~有幸最终能看到一些PhoneWindow神马的源代码,今天就带大家来跑一回源代码~~ 1.Activity  setContentView 首先不用说,进入Activity的setContentView public void setContentView(int layoutResID) { getWindow().setContentView(layoutResID); initActio

setContentView加载解析过程源码分析

Activity的setContentView方法 Activity的源码中提供了三个重载的setContentView方法,如下: public void setContentView(int layoutResID) { getWindow().setContentView(layoutResID); initWindowDecorActionBar(); } public void setContentView(View view) { getWindow().setContentView