您的位置:首页 > 移动开发 > Android开发

android_定义多个Activity及跳转

2016-01-08 08:03 507 查看
说明:在Android应用程序其中创建多个activity,而且启动一个activity的方法,以及activity之间的跳转。

样例:在MainActivity里面加入一个button,触动button,跳转到SecondActivity。

步骤:1、定义一个类,继承Activity。复写Activity其中的OnCreate方法。

package com.away.b_01_multiactivity;

import android.app.Activity;
import android.os.Bundle;

public class SecondActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
}

}
同一时候,也新建一个布局文件second.xml ,而且在SecondActivity的OnCreate方法中调用setContentView,设置SecondActivity使用的布局文件。
<TextView
android:id="@+id/secondTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="第二个Activity"/>
2、在AndroidMainfest.xml文件其中注冊Activity。

<activity
android:name="com.away.b_01_multiactivity.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="com.away.b_01_multiactivity.SecondActivity"
android:label="second" >
</activity>
PS:<intent-filter>作为activity的子标签。它的作用是设置某个activity为应用程序默认启动的activity。android:label的作用就是这个activity显示到手机上面的名字。

到这里activity就创建好了,以下实现activity之间的跳转。

3、在activity_main.xml其中加入一个<Button>。

<Button
android:id="@+id/Button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/TextView"
android:text="启动SecondAtivity"/>
4、在MainActivity.java里面生成意图对象(Intent),调用 setClass方法设置所要启动的Activity。调用startActivity方法启动Activity。
package com.away.b_01_multiactivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

button=(Button)findViewById(R.id.Button);
button.setOnClickListener(new ButtonListener());
}

class ButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent=new Intent();
//setClass函数的第一个參数是一个Context对象
//Context是一个类,Activity是Context类的子类,也就是说,全部的Activity对象都能够向上转型为Context对象
//setClass函数的第二个參数是Class对象,在当前场景下,应该传入须要被启动的Activity的class对象
intent.setClass(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
}
}

也能够这样写:

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);

还能够这样写:

startActivity(new Intent(MainActivity.this, SecondActivity.class));

仅仅要这两句。就能够实现从MainActivity页面跳转到SecoidActivity页面了。

附上效果图:(原创不易,转载请标明出处 = - =)



结构图:



有的时候,在跳转页面时还须要传递数据,这个时候能够看这里>>>Activity传值

欢迎交流 http://blog.csdn.net/ycwol/article/details/39736075
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: