마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

다른 액티비티에서 정보를 입력하고 메인 액티비티에서의 DB 리로드 문제

0 추천
Intent intent = new Intent(PutEvent.this, MainActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent);
                this.overridePendingTransition(R.anim.end_exit_toleft, R.anim.end_start_toright);
                finish();
                break;

실력이 부족해서 자꾸 질문을 하게 되네요;;;

현재 MainActivity에서 버튼을 클릭하여 DB에 새로운 정보를 입력하는 액티비티를 설정해 놓고, 저장 버튼을 눌렀을 때의 액션을 정의한 곳입니다.

제가 MainActivity에 해당 정보를 개략적으로 리스트뷰에 뿌려줘야 해서 다시 MainActivity를 인텐트 하는 것으로 정의했는데요.

스플래시 화면이 돌아갈 때마다 다시 보여지는 문제가 있습니다.

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        startActivity(new Intent(this, Splash.class));

MainActivity의 OnCreate에 위와 같이 스플래시를 띄우도록 한 것인데요.

이 부분이 잘못된 것 같기는 한데 어떻게 고쳐야 할 지 막막합니다 ㅠㅠ

개념적으로는 일정 수치를 같이 넘겨서 이 부분을 제외하는 방법이 있을 듯 한데, 실력이 일천하여 선뜻 구성이 되질 않네요;;;

고수분들의 도움이 필요합니다 ㅠㅠ

 

현재 Splash는 

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        Handler handler01 = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                finish();
            }

        };
        handler01.sendEmptyMessageDelayed(0, 3000);
    }
}

위와 같이 구성해 놓았습니다. 또한 Manifest에서 android:noHistory="true" 속성을 주었습니다.

도와주세요 ㅠㅠ

너만의그녀 (590 포인트) 님이 2014년 5월 23일 질문

1개의 답변

+1 추천
 
채택된 답변
MainActivity를 다시 인텐트 하는 방법보다는 MainActivity에서 이동하면서 finish하지 말고 액티비티 생명 주기를 이용해서 갱신할 내용을 onRestart함수에 넣는건 어떨까요?
YeonMin (17,860 포인트) 님이 2014년 5월 26일 답변
너만의그녀님이 2014년 5월 26일 채택됨
감사합니다~아직 초보자라 액티비티 생명주기에 대해서 생소했는데 말씀해주신 부분 참고해서 onRestart로 해결봤어요~~
...