Api demo源码学习(11)--App/Activity/Reorder Activity
2011-12-14 20:32
531 查看
本节实现四个Activity中进行跳转,比较简单,唯一需要注意的是调用语句
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
它的功能是,如果跳转后的Activity已存在,则不是新创建一个activity,而是回到原来已存在的Activity中。
Api demo中只在第四个Activity中调用了这个语句,效果不明显,如果我们在四个Activity中都添上这条语句,那无论我们点击多少次跳转(>=4次),我们按返回键都只需要四次,依次返回四个Activity后就可以退出程序,因为每次跳转不是重新开一个新的Activity,而是将原来已存在的Activity拉到任务栈的顶端上来。
ReorderOnLaunchActivity.java
ReorderTwo.java
RecorderThree.java
RecorderFour.java
[align=left]最后别忘了在AndroidMenifest.xml中注册另外三个Activity。[/align]
[align=left]
[/align]
[align=left]以上即可。[/align]
[align=left]
[/align]
[align=left]下一节:Api demo源码学习(12)--App/Activity/Save & Restore State[/align]
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
它的功能是,如果跳转后的Activity已存在,则不是新创建一个activity,而是回到原来已存在的Activity中。
Api demo中只在第四个Activity中调用了这个语句,效果不明显,如果我们在四个Activity中都添上这条语句,那无论我们点击多少次跳转(>=4次),我们按返回键都只需要四次,依次返回四个Activity后就可以退出程序,因为每次跳转不是重新开一个新的Activity,而是将原来已存在的Activity拉到任务栈的顶端上来。
ReorderOnLaunchActivity.java
/** Called when the activity is first created. */ @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); setContentView(R.layout.reorder_on_launch); Button twoButton = (Button) findViewById(R.id.reorder_launch_two); twoButton.setOnClickListener(mClickListener); } private final OnClickListener mClickListener = new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(ReorderOnLaunchActivity.this, ReorderTwo.class); intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); //finish(); } }; }
ReorderTwo.java
public class ReorderTwo extends Activity { @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); setContentView(R.layout.reorder_two); Button twoButton = (Button) findViewById(R.id.reorder_launch_three); twoButton.setOnClickListener(mClickListener); } private final OnClickListener mClickListener = new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(ReorderTwo.this, RecorderThree.class); intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); //finish(); } }; }
RecorderThree.java
public class RecorderThree extends Activity{ @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); setContentView(R.layout.reorder_three); Button twoButton = (Button) findViewById(R.id.reorder_launch_four); twoButton.setOnClickListener(mClickListener); } private final OnClickListener mClickListener = new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(RecorderThree.this, RecorderFour.class); intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); //finish(); } }; }
RecorderFour.java
public class RecorderFour extends Activity { @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); setContentView(R.layout.reorder_four); Button twoButton = (Button) findViewById(R.id.reorder_second_to_front); twoButton.setOnClickListener(mClickListener); } private final OnClickListener mClickListener = new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(RecorderFour.this, ReorderTwo.class); intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); //finish(); } }; }
[align=left]最后别忘了在AndroidMenifest.xml中注册另外三个Activity。[/align]
[align=left]
[/align]
[align=left]以上即可。[/align]
[align=left]
[/align]
[align=left]下一节:Api demo源码学习(12)--App/Activity/Save & Restore State[/align]
相关文章推荐
- Api demo源码学习(14)--App/Activity/Translucent && Translucent Blur
- Api demo源码学习(2)--App/Activity/Custom Dialog --自定义Activity样式
- Api demo源码学习(3)--App/Activity/Custom Title --自定义标题栏
- Api demo源码学习(4)--App/Activity/Dialog --Activity以Dialog形式呈现
- Api demo源码学习(6)--App/Activity/Hello World
- Api demo源码学习(7)--App/Activity/Persistent State
- Api demo源码学习(9)--App/Activity/Receive Result --Activity间传递数据
- Api demo源码学习(17)--App/Device Admin
- [转]Api demo源码进修(3)--App/Activity/Custom Title --自定义题目栏
- ApiDemo的学习总结,个人心得,App模块之Activity
- 安卓Api Demo学习 App/Activity/Custom Title
- 安卓ApiDemos学习 app/Activity/ReorderActivities
- 安卓Api Demo学习 App/Activity/Dialog
- Call requires API level 11 (current min is 8): android.app.Activity#onCreateView 报错问题
- Api demo源码学习(16)--App/Activity/Alarm Alarm Controller&&Alarm Service
- Android 2.2 API Demos -- Redirection, Reorder Activity and Save&Restore State
- [Android Samples视频系列之ApiDemos] App-Activity-Reorder Activities
- 【起航计划 012】2015 起航计划 Android APIDemo的魔鬼步伐 11 App->Activity->Save & Restore State onSaveInstanceState onRestoreInstanceState
- 调用getActionBar()总会报Call requires API level 11 (current min is 8): android.app.Activity#getActionBar
- Call Requires API level 11 (current min is 8) Android.App.Activity#onCreateView