Acitivity启动其他Activity有如下两种方法

startActivity(Intent intent):启动其它Activity

startActivityForResult(Intent intent,int requestCode): 以指请求码启动Activity,而且程序将会得到新启动Activity的结果(重写onActivityResult(...)方法获取)

相对的,也有两个关闭Activity的方法对应这两个启动的方法

finish():结束当前Activity

finishActivity(int requestCode):结束以startActivityForResult(Intent intent,int requestCode)方法启动的Activity

下面用一个例子来说明第一种启动方式

创建两个Activity,和两个界面XML文件

首先是XML

第一个主窗口,main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/hello" />    <Button        android:id="@+id/bn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Button" /></LinearLayout>

需要启动的第二个窗口,sub.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <Button        android:id="@+id/previous"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Previous" />    <Button        android:id="@+id/Close"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Close" /></LinearLayout>

第一个主窗口界面

package WangLi.Activity.FirstActivity;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;public class FirstActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Button bn = (Button)findViewById(R.id.bn);        bn.setOnClickListener(new OnClickListener(){        public void onClick(View source)        {        //创建需要启动的Activity对应的Intent        Intent intent = new Intent(FirstActivity.this,SecondActivity.class);        //启动intent对应的Activity        startActivity(intent);        }        });    }}

第二个需要启动的窗口,这里有两个按钮,一个是返回之前的Activity,另一个是返回后还要关闭自身

package WangLi.Activity.FirstActivity;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;public class SecondActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.sub);        Button previous = (Button)findViewById(R.id.previous);        previous.setOnClickListener(new OnClickListener(){        public void onClick(View source)        {        //获取启动前Activity的上一个Intent        Intent intent = new Intent(SecondActivity.this,FirstActivity.class);        //启动intent对应的Activity        startActivity(intent);        }        });        Button close = (Button)findViewById(R.id.Close);        close.setOnClickListener(new OnClickListener(){        public void onClick(View source)        {        //获取启动前Activity的上一个Intent        Intent intent = new Intent(SecondActivity.this,FirstActivity.class);        //启动intent对应的Activity        startActivity(intent);        finish();        }        });    }}

最后,也是关键的一步,千万不要忘了,把第二个Activity(SecondActivity)加入AndroidManifest.xml中,不然会出现权限错误

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="WangLi.Activity.FirstActivity"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="7" />    <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name" >        <activity            android:name=".FirstActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity android:name="SecondActivity"></activity>    </application></manifest>



程序效果图如下:

由第一个Activity开始,点击按钮,打开第二个Activity



点击按钮,出现第二个Activity


点previous 返回到第一个Activity,点close也可以返回,只是还要把自身关闭掉


更多相关文章

  1. Android使用newInstance()实例化fragment&setArguments()传递参
  2. Android中关于Volley的使用(九)认识HurlStack(HttpClientStack)
  3. 窗口关系
  4. (Android、Java) AES加密方法
  5. Android(安卓)Studio用法之ListView(图文并茂的listview界面)
  6. 【Android(安卓)开发教程】保存到外部存储设备(SD卡)
  7. Android获取桌面启动图标的位置
  8. android 4.4 沉浸式状态栏实现
  9. Android应用程序安装与Launcher启动机制

随机推荐

  1. Android Studio 使用技巧(6)
  2. android host修改
  3. android 从assets和res中读取文件
  4. Android实践之TabActivity
  5. android : 背景透明的 Dialog
  6. Android 判断数据库中是否存在某个表
  7. AppCompat does not support the current
  8. android 手机判断是否在充电 如断电自动
  9. Android 四大组件之再论BroadCast
  10. Android 怎样使用已存在的Database