【从头学android】在两个Activity之间实现界面切换
16lz
2022-06-15
1.java
/** * */package com.itest;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;/** * @author Robin */public class ITestP3Activity extends Activity {Button b1;View v1;/** Called when the activity is first created. */@Overridepublic void onCreate( Bundle savedInstanceState ){super.onCreate( savedInstanceState );//缓存View1v1 = getLayoutInflater().inflate( R.layout.p31, null );//动态修改v1中内容b1 = (Button) v1.findViewById( R.id.button1 );b1.setOnClickListener( new OnClickListener() {@Overridepublic void onClick( View v ){Intent in = new Intent();in.setClassName( getApplicationContext(), "com.itest.ITestP4Activity" );startActivity( in );}} );//切换到v1setContentView( v1 );}}
2.java
/** * */package com.itest;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;/** * @author Robin */public class ITestP4Activity extends Activity {Button b1;View v1;/** Called when the activity is first created. */@Overridepublic void onCreate( Bundle savedInstanceState ){super.onCreate( savedInstanceState );//缓存View1v1 = getLayoutInflater().inflate( R.layout.p41, null );//动态修改v1中内容b1 = (Button) v1.findViewById( R.id.button1 );b1.setOnClickListener( new OnClickListener() {@Overridepublic void onClick( View v ){Intent in = new Intent();in.setClassName( getApplicationContext(), "com.itest.ITestP3Activity" );startActivity( in );}} );//切换到v1setContentView( v1 );}}
切换两个Activity使用了Intent类,其实常用这个类的会有调用拨打电话、发短信等外部程序
要注意的是每次的切换,都是新启动的Activity程序,可以通过下面的代码测试一下
/** * */package com.itest;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;/** * @author Robin */public class ITestP3Activity extends Activity {Button b1;Button b2;View v1;TextView tv1;/** Called when the activity is first created. */@Overridepublic void onCreate( Bundle savedInstanceState ){super.onCreate( savedInstanceState );//缓存View1v1 = getLayoutInflater().inflate( R.layout.p31, null );//动态修改v1中内容b1 = (Button) v1.findViewById( R.id.button1 );b1.setOnClickListener( new OnClickListener() {@Overridepublic void onClick( View v ){Intent in = new Intent();in.setClassName( getApplicationContext(), "com.itest.ITestP4Activity" );startActivity( in );}} );tv1 = (TextView) v1.findViewById( R.id.textView1 );b2 = (Button) v1.findViewById( R.id.button2 );b2.setOnClickListener( new OnClickListener() {@Overridepublic void onClick( View v ){tv1.setText( System.currentTimeMillis()+"" );// TODO Auto-generated method stub}});//切换到v1setContentView( v1 );}}
会发现在切换之前TextView上显示的数字,在切换回来之后消失了
然后按系统的返回键,会一页一页的返回上一页(可以返回到有数字的一页),从而说明每次的切换,都是新启动的Activity程序
更多相关文章
- Android(安卓)SDK 源代码关联Eclipse
- RestHttp
- AndroidStudio修改生成的apk名称
- 修改Android中strings.xml文件
- eclipse - An internal error occurred during: "Running Androi
- build.prop生成及参数解析
- Android(安卓)为【apk】文件签名,增加修改系统时间等权限
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Fedora镜像
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像