在看ApiDemos中APP/Activity/Reorder Activities这个例子时,ReorderFour这个类中的intent对象加入FLAG_ACTIVITY_REORDER_TO_FRONT 这个Flag,但我把intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);这句话注释掉,也没发现有什么不同啊。
public class ReorderFour 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(ReorderFour.this, ReorderTwo.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            startActivity(intent);
        }
    };
}

解决方案 »

  1.   

    Intent.FLAG_ACTIVITY_REORDER_TO_FRONT:
    If set in an Intent passed to Context.startActivity(), this flag will cause the launched activity to be brought to the front of its task's history stack if it is already running.
    多查android sdk document吧,里面有想要查的大部分东东。
      

  2.   


    嗯,这个有看,就是不加这个flag,也会转到target的呀。将目标activity放到stack的最上端,莫非这样提高了运行效率?
      

  3.   

    Intent.FLAG_ACTIVITY_REORDER_TO_FRONT的意思是,如果task中已经有这个activity A,那么就把A拿到task的最顶层,而不是创建一个新的activity。所以不加flag也不会影响界面的切过去,只是会影响task的顺序而已。
      

  4.   

    加了应该是不会重新创建了,你可以看看没有重新执行ONCREATE( )函数,重新创建一个应用的实例
      

  5.   

    但我为什么我加了后依然重新onCreate呢?我需要的是只onCreate一次,好苦恼
      

  6.   

    你是不是在跳转到其他activity时把这个finish掉了
      

  7.   

    英语真的TMD很重要啊。看这样的文档没英语功底很累啊