android界面切换的方法

两种方法实现界面的切换:

1、Intent
Intent适合Activity与Activity之间的跳转,按返回键可以直接返回前一页面。
缺点:需要到Manifest注册Activity
2、setContentView
适合同一Activity里的不同View之间跳转。
优点:按返回键不会返回到前一页面,需要自己添加按键监听代码来实现。
 
只切换Layout运行速度会快点,因为启动activity是最耗时的。数据传递也简单,不用Intent.setExtra之类的。
缺点是所有控件的事件处理、加载之类的操作全集中由activity管理,拆分不够清晰。


【方法1】通过setContentView切换layout

这个我比较常用。有以下步骤:
①新建一个界面的layout的xml文件。
②触发某一控件(如Button),该控件已经加载监听器,监听器通过setContentView函数切换layout。
这样的实现整个过程都是在一个Activity上面实现,所有变量都在同一状态,因此所有变量都可以在这个Activity状态中获得。

代码如下:
[java] 
public void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState); 
         setContentView(R.layout.main); 
         Button button = (Button) this.findViewById(R.id.button1); 
         //给按钮设置监听器 
         button.setOnClickListener(new OnClickListener() {              
           @Override 
           public void onClick(View v) { 
           //通过调用setContentView函数切换layout 
           setContentView(R.layout.login); 
          } 
      }); 
     } 


【方法2】通过转换到另一个Activity

步骤如下:
①建一个Activity类。
②把该类注册到AndroidManifest.xml,如下:
<activity android:name=".LoginActivity"></activity>
③在原来的Activity上面通过创建Intent类来进行Activity的切换,代码如下:
[java] 
public void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState); 
         setContentView(R.layout.main); 
         Button button_activity = (Button) this.findViewById(R.id.button2); 
         button_activity.setOnClickListener(new OnClickListener()){                
         @Override 
         public void onClick(View v) { 
 
        Intent intent = new Intent(MainActivity.this, LoginActivity.class); 
        startActivity(intent); 
        } 
        }); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值