您的位置:首页 > 其它

Activity之间的跳转(Activity和intent)

2015-11-29 13:13 337 查看
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详细步骤点击查看详细步骤
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: