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

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

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