1.startActivity(Intent intent): 启动其它Activity
2.startActivityForResult(Intent intent,int requestCode): 以指请求码启动Activity,而且程序将会得到新启动Activity的结果(重写onActivityResult(…)方法获取)
相对的,也有两个关闭Activity的方法对应这两个启动的方法
1.**finish()😗*结束当前Activity
2.**finishActivity(int requestCode)😗*结束以startActivityForResult(Intent intent,int requestCode)方法启动的Activity
原文链接:https://blog.csdn.net/lee576/article/details/7729220
- 创建xml文件
首先需要创建两个页面具体如下:
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是第一个页面"
android:textSize="30dp"
android:id="@+id/textView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跳转"
android:textSize="25dp"
android:id="@+id/btn"
android:layout_marginTop="31dp"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</LinearLayout>
效果
activity_main2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="这是第二个页面"
android:textSize="30dp"
android:id="@+id/textView1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/pre"
android:text="返回"
android:textSize="20dp"
android:layout_marginTop="31dp"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关闭"
android:id="@+id/close"
android:textSize="20dp"
android:layout_marginTop="31dp"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</LinearLayout>
效果
- java代码
- 也要创建两个java文件一个
- 如下:
MainActivity
package com.example.acer.start;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends ActionBarActivity {
@Override
public void onCreate(Bundle savedInstanceState) {//重写OnCreate方法
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.btn);//定义按钮
btn.setOnClickListener(new View.OnClickListener() {//设置监听事件
@Override
public void onClick(View source) {
//创建需要启动的Activity对应的Intent
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
//启动intent对应的Activity
startActivity(intent);
}
});
}
}
NewActivity
package com.example.acer.start;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class NewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Button pre = (Button) findViewById(R.id.pre);
pre.setOnClickListener(new View.OnClickListener() {
public void onClick(View source) {
//创建需要启动的Activity对应的Intent
Intent intent = new Intent(NewActivity.this, MainActivity.class);
//启动intent对应的Activity
startActivity(intent);
}
});
Button close = (Button) findViewById(R.id.close);
close.setOnClickListener(new View.OnClickListener() {
public void onClick(View source) {
//创建需要启动的Activity对应的Intent
Intent intent = new Intent(NewActivity.this, MainActivity.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="com.example.acer.start" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
>
<activity
android:name=".MainActivity"
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=".NewActivity"></activity>
</application>
</manifest>
修改的部分
- 启动模拟器运行即可