본문 바로가기

나의 플랫폼/안드로이드

[ Android ] 지나쳐 온 Activity 제거 방법

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

어플리케이션에서 여러 Activity를 사용해서 데이터를 수집해야할 경우 가 있습니다.

예를 들어

A화면은 메인 이고
B화면에서 이미지를 받아오고
C화면에서 컬러를 지정하고
D화면에서 데이터를 수정하고

다시 A로 돌아갈려고 할 경우! ( 취소 버튼을 누르면 당연 D화면에서 는 C화면으로 가야겠죠!!)

A화면으로 가는 intent에 플래그 값 하나만 넣어주면 됩니다.

Intent.FLAG_ACTIVITY_CLEAR_TOP


간단하게 샘플을 만들어 보았는데요.
아래는 가장 마지막 Activity 즉! D화면이라고 보시면 됩니다.

package com.flagtest;


import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;


public class FlagTestActivity3 extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        

        TextView txt = (TextView)findViewById(R.id.txt);

        txt.setText("Test4");

        

        

        Button btn = (Button)findViewById(R.id.button1);

        btn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent(getApplicationContext(),FlagTestActivity.class);

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(intent);

}

});

    }

}


위와 같이 해주면 메인 Activity인 FlagTestActivity(A화면)로 돌아가게 됩니다.
이동후 ,취소 버튼을 누르면 종료가 되지요^^

소스 참고하세요 ㅎ