一、目标
通过调用另一个Activity的方法来实现手机页面的跳转,如下图。单击“页面1”中的“Go to Activity2”按钮,手机页面跳转到“页面2”,同样单击“页面2”中的“Go to Activity1”按钮,页面转回“页面1”。较之前一种方法,此种方法功能更加强大,使用更加频繁。
![]()
二、代码
1、MainActivity.java
package com.myandroid.helloandroid; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener { Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.btn1); btn1.setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn1: jump2Activiy2(); break; } } private void jump2Activiy2() { Intent itt = new Intent(); itt.setClass(MainActivity.this, TwoActivity.class); startActivity(itt); MainActivity.this.finish(); } }
2、TwoActivity.javapackage com.myandroid.helloandroid; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class TwoActivity extends Activity implements OnClickListener { Button btn2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_layout2); btn2 = (Button) findViewById(R.id.btn2); btn2.setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn2: jump2Activiy1(); break; } } private void jump2Activiy1() { Intent itt = new Intent(); itt.setClass(TwoActivity.this, MainActivity.class); startActivity(itt); TwoActivity.this.finish(); } }
3、activity_main.xml<RelativeLayout 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:id="@+id/ttv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This is Activity1" /> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/ttv1" android:layout_centerHorizontal="true" android:layout_marginTop="144dp" android:text="Go to Activity2" /> </RelativeLayout>
4、activity_two.xml<RelativeLayout 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:id="@+id/ttv2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="This is Activity2" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/ttv1" android:layout_centerHorizontal="true" android:layout_marginTop="144dp" android:text="Go to Activity1" /> </RelativeLayout>
5、AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.myandroid.helloandroid" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="15" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.myandroid.helloandroid.MainActivity" android:label="@string/act_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.myandroid.helloandroid.TwoActivity" android:label="@string/act_name" > </activity> </application> </manifest>
三、讨论
不知道为什么,总是感觉利用Activity的方法实现手机页面的跳转仍然不是最好的方法,路过的大仙可以在此谈谈其使用心得,优缺点。下一节将介绍如何利用Fragment实现手机界面的跳转,敬请期待!
源码下载:http://yunpan.cn/Qhu3arQmSKFBI 访问密码 7922,文件名:HelloAndroid20140616.rar
本文介绍了一种通过调用Activity的方法实现Android应用中页面跳转的技术。提供了MainActivity与TwoActivity两个示例,展示了如何通过Intent对象在不同Activity间进行跳转,并附带了布局文件与AndroidManifest.xml配置。
614

被折叠的 条评论
为什么被折叠?



