setContentView方法
来源:互联网 发布:学日语的游戏知乎 编辑:程序博客网 时间:2024/06/05 02:26
setContentView(R.layout.main)在Android里面,这句话是什么意思?
R.layout.main是个布局文件即控件都是如何摆放如何显示的,setContentView就是设置一个Activity的显示界面,这句话就是设置这个这句话所再的Activity采用R.layout下的main布局文件进行布局
使用setContentView可以在Activity中动态切换显示的View,这样,不需要多个Activity就可以显示不同的界面,因此不再需要在Activity间传送数据,变量可以直接引用。但是,在android SDK给我们建的默认的Hello World程序中,调用的是setContentView(int layoutResID)方法,如果使用该方法切换view,在切换后再切换回,无法显示切换前修改后的样子,也就是说,相当于重新显示一个view,并非是把原来的view隐藏后再显示。其实setContentView是个多态方法,我们可以先用LayoutInflater把布局xml文件引入成View对象,再通过setContentView(View view)方法来切换视图。因为所有对View的修改都保存在View对象里,所以,当切换回原来的view时,就可以直接显示原来修改后的样子。
。
android开发中如果想实现布局页面的跳转可以使用setContentView()设置跳转到需要的布局文件上面,实现代码如下:Java代码 package com.lyj.demo; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; /** * * @author lyj * 实现不同Layout的转换功能,setContentview()用法; */ public class setContentViewDemo extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 以findViewById()取得Button对象并添加事件onClickLisener Button button1=(Button)findViewById(R.id.bt1); button1.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { goToLayout2(); }}); } // 将layout由main.xml切换成mylayout.xml public void goToLayout2() { // 将layout改成mylayout setContentView(R.layout.mylayout); Button b2 = (Button) findViewById(R.id.bt2); b2.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { goToLayout1(); } }); } // 将layout由mylayout.xml切换成main.xml public void goToLayout1() { setContentView(R.layout.main); Button bt1 = (Button) findViewById(R.id.bt1); bt1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { goToLayout2(); } }); } } 主布局的mai.xmlJava代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="欢迎来到小李的博客" /> <Button android:id="@+id/bt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击进入Layout2" /> </LinearLayout> 需要跳转到的布局文件mylayout.xmlJava代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffffff" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Welcom to my bog" /> <Button android:id="@+id/bt2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="点击进入Laout1" /> </LinearLayout>
本文出自“飞翔的小鸟”
- setContentView( )方法
- setContentView方法
- setContentView( )方法
- setContentView( )方法
- setContentView( )方法
- setContentView( )方法
- setContentView( )方法
- setContentView( )方法
- setContentView( )方法
- setContentView( )方法
- setContentView( )方法
- setContentView方法
- setContentView( )方法
- activity 中的 setContentView( )方法
- setContentView()方法的使用
- Android OnCreate、setContentView方法
- setContentView方法简述
- setContentView方法无效
- 【全知讯微小兔】浅谈:微信营销深水误区是什么!
- Oracle 分析函数详解(Analytic Functions)--概念部分
- 『算法学习笔记』9th day. 循环结构 & 计时器函数的使用
- Linux环境下修改MySQL端口方法:
- Ubuntu下为Firefox安装Adobe Flash Player
- setContentView方法
- 酷爱到碗里来+文蛤蒸蛋
- 查看Eclipse 运行java程序时使用的命令
- Android 系列:如何解决安卓SDK无法下载Package的问题
- platform_driver_register()--如何match之后调用probe
- vi修改编辑文件提示Write Error!(File System full?)错误的研究
- C++打印出当前源文件的文件名以及源文件的当前行号
- 可视化编程的一些资料
- SEO学习的常见误区