Android Api Demos登顶之路(十八)Recorder Activities
2015-08-03 21:33
573 查看
这个demo演示了通过添加标志位的方式来将任务栈中已经存在的activity推送到前台。 而任务栈中的activities的存放顺序也相应发生变化。
在本例中MainActivity开启secondActivity,secondActivity开启thirdActivity 则任务栈中三个activity的存储顺序为3,2,1。(由上至下,由栈顶至栈底)如果在thirdActivity 中使用标志位将任务栈中的 secondActivity推到前台,则任务中activities的存储顺序就变为* 2,3,1。
这个demo就演示了这一个知识点,代码很简单,每个activity的而已文件都只有一个textView加一个Button,这里贴一个示例一下:
MainActivity(也是第一个Activity)
SecondActivity
ThirdActivity
在本例中MainActivity开启secondActivity,secondActivity开启thirdActivity 则任务栈中三个activity的存储顺序为3,2,1。(由上至下,由栈顶至栈底)如果在thirdActivity 中使用标志位将任务栈中的 secondActivity推到前台,则任务中activities的存储顺序就变为* 2,3,1。
这个demo就演示了这一个知识点,代码很简单,每个activity的而已文件都只有一个textView加一个Button,这里贴一个示例一下:
<LinearLayout 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:padding="5dp" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="@string/one_info" /> <Button android:onClick="click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:layout_gravity="center_horizontal" android:text="Go to the second activity"/> </LinearLayout>
MainActivity(也是第一个Activity)
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View v){ startActivity(new Intent(this, SecondActivity.class)); } }
SecondActivity
public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); } public void click(View v){ startActivity(new Intent(this, ThirdActivity.class)); } }
ThirdActivity
public class ThirdActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_third); } public void click(View v){ Intent intent=new Intent(this, SecondActivity.class); //添加标志位 intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); } }
相关文章推荐
- button-xml 中android:clickable="false" 属性
- Android SDK开发包国内下载地址
- Android service的使用
- android属性动画小结
- Android项目导入出错
- Android四大组件详解
- Android AsyncTask完全解析,带你从源码的角度彻底理解
- Android JNI初体验
- Android测试写入文本Log
- android studio使用模拟器上时出现中文乱码问题解决方法
- Android开发之创建ContextMenu上下文菜单
- Android中xml的序列化和解析
- Socket实现pc端与手机Android端图片传输
- android ListView开发问题及方法
- Android 文件操作
- Android OpenGL ES 2.0之混合与雾的学习
- Android的多项选择设计
- Android 跳转基础应用(联系人,日历)
- <转载>Android 工程报错解决 Unable to resolve target 'android-17'
- Android showmap