Activity之间的跳转(Activity和intent)

本文介绍了如何在Android应用中通过Activity和Intent进行两个Activity之间的跳转。首先,创建并配置了Activity01,包含一个TextView和Button。然后,创建了Activity02,设置了onCreate方法和布局文件。在Activity01中,为Button添加了事件监听,当点击时利用Intent启动Activity02,实现了Activity间的跳转。同时强调了在AndroidManifest.xml中配置Activity的重要性以及一些常见错误避免方法。

Activity之间的跳转(Activity和intent)

Activity和intent

Intent的基本作用:intent是一个对象,包含一组信息
1.component name  (指定启动哪一个activity)
2.action          (下一个Activity的动作 值有:ACTION_CALL,ACTION_EDIT....)
3.data            (传递数据)
4.extras          (存放键值对)
5.flags
6.category

在第一个activity中向intent中存放键值对传递到另外一个activity中,另外一个activity可以从得到intent对象中取出键值对

主要试下两个Activity之间的跳转:

1.创建项目:

主方法命名为Activity01,,先按照上一篇创建Activity的方法将主方法Activity01创建好,包含一个TextView和一个Button

布局文件写好,并在主方法中根据id调用,配置好字符串value,并在AndroidMenifest.xml文件中配置,所有工作完成。

(详见创建第一个Activity详细方法

效果如图:




此时已经能显示TextView和一个button   不过点击button并没有效果

2.接下来创建另外一个Activity:

在Activity01相同目录下创建一个class  命名为Activity02  继承至Activity


为Activity02添加 onCreate方法:

在空白处右键-->source-->Override implement  Methods..-->onCreate(Bundle)  勾选即可

package com.example.test;

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

public class Activity02 extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
	}

}
3.为Activity02创建布局文件:

在res目录下layout下创建相应的布局文件:

选择new-->file--为文件命名,尽量与第一个命名方式相同:


为图方便,在第二个布局文件中可以借鉴第一个布局文件的代码,复制后一定要注意修改,修改后即可使用。

同样为activity_activity02.xml中添加一个TextView,并加上id,在Activity02.Java中根据id引用。

4.在AndroidManifest.xml文件中配置第二个Activity(配置方法仿照第一个Activity):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.test.Activity01"
            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.example.test.Activity02"
            android:label="@string/app_name" ></activity>
        
    </application>

</manifest>
5.配置完成后可以写Activity02.java  注意手动添加layout文件

setContentView(R.layout.activity_activity02);添加组件的方法不做赘述。

6.回到第一个Activity文件中 设置事件监听,并实现跳转功能:

class ButtonListener implements  OnClickListener{

//出错时选择第三个  change to ‘OnClickListener’(android.view.View)

//再选择第一个  Add unimplemented methods

}

相应代码直接贴出来:

package com.example.test;

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;
import android.widget.TextView;

public class Activity01 extends Activity {
  private TextView TextView1;
  private Button button1;
  
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_activity01);
		TextView1=(TextView)findViewById(R.id.textView1);
		TextView1.setText(R.string.TextView1);
		
		button1=(Button)findViewById(R.id.button1);
		button1.setText(R.string.button1);
		button1.setOnClickListener(new ButtonListener());
		
	}
   
	class ButtonListener implements OnClickListener{

		@Override
		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			Intent intent =new Intent();
			intent.setClass(Activity01.this,Activity02.class);
			Activity01.this.startActivity(intent);
			
		}
		
	}
	
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity01, menu);
		return true;
	}

}
保存后即可运行。

注意事项:

一定要在androi.Manifest.xml文件中 配置Activity,否则会出错,最容易出错的地方

在value下string.xml文件中修改字符串的值,不要在布局文件中直接修改

布局文件添加id后会在R文件中自动生成,调用根据id

难点在于添加时间监听,实现跳转。

创建第一个Activity详细步骤点击查看详细步骤

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值