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

인텐트를 호출하는데 왜이렇게 에러가 뜨는지.. 이유를 모르겠어요..

0 추천

안녕하세요.

 

아래의 소스에서 실행 할때마다.. 아래의 에러가 호출되는데 이유를 잘 모르겠습니다..

 

오작동을 하는것은 아니지만.. 아래의 같은 에러가 지나가버리니까 .. 지나치기에는 좀 그렇네요 ..

 

오류를 해결하고 싶어서 검색을 통해서 찾아보았지만 해결책을 찾지 못해서 고수님들의 도움을 얻고자 글을 씁니다.

 

else if(!First_Edit.isEmpty() && !Second_Edit.isEmpty() && !Third_Edit.isEmpty())
{

    Toast toast = Toast.makeText(getApplicationContext(), "회원가입이 완료되었습니다", Toast.LENGTH_SHORT);
    TextView Success_Register = (TextView) toast.getView().findViewById(android.R.id.message);
    Success_Register.setTextColor(Color.BLUE);
    toast.show();

    Custom_Dialog_Register Access_Register = new Custom_Dialog_Register(Register.this);
    Access_Register.show();

    finish();
}

@

아래는 에러의 내용입니다. 69줄은 바로 Access_Register.show() 입니다..

 

E/WindowManager: android.view.WindowLeaked: Activity ex.real_project.Register has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{1fc113ae V.E..... R.....I. 0,0-640,560} that was originally added here

                     at android.view.ViewRootImpl.<init>(ViewRootImpl.java:392)

                     at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:300)

                     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)

                     at android.app.Dialog.show(Dialog.java:325)

                     at ex.real_project.Register$1.onClick(Register.java:69)

 

 

그리고, Custom_Dialog_Register 의 자바 소스는 아래와 같습니다.

 

import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;

public class Custom_Dialog_Register extends Dialog implements View.OnClickListener {

    Button btn;

    public Custom_Dialog_Register(Context context) {
        super(context);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_custom__dialog__register);

        btn = (Button) findViewById(R.id.Custom_Button);
        btn.setOnClickListener(this);
    }


    public void onClick(View view) {
        if (view.getId() == R.id.Custom_Button2) {
            if (isShowing()) {

                dismiss();
            }
        }
    }
}
비선아 (920 포인트) 님이 2016년 12월 7일 질문

1개의 답변

0 추천
 
채택된 답변

안녕하세요

다이얼로그가 닫기 전에 액티비티를 finish 해서 그런겁니다.

    Custom_Dialog_Register Access_Register = new Custom_Dialog_Register(Register.this);
    Access_Register.show();

    finish(); << 이부분 때문에
히로시 (10,800 포인트) 님이 2016년 12월 7일 답변
비선아님이 2016년 12월 7일 채택됨
해결했습니다. 감사합니다.
...