您的位置:首页 > 移动开发 > Android开发

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,这里贴一个示例一下:

<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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: