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文件中配置,所有工作完成。
效果如图:
此时已经能显示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详细步骤点击查看详细步骤
本文介绍了如何在Android应用中通过Activity和Intent进行两个Activity之间的跳转。首先,创建并配置了Activity01,包含一个TextView和Button。然后,创建了Activity02,设置了onCreate方法和布局文件。在Activity01中,为Button添加了事件监听,当点击时利用Intent启动Activity02,实现了Activity间的跳转。同时强调了在AndroidManifest.xml中配置Activity的重要性以及一些常见错误避免方法。
&spm=1001.2101.3001.5002&articleId=50095573&d=1&t=3&u=b5ea66b271334c68988ea26132c06f73)
394

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



