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

다이얼로그에서, 버튼을 눌렀을경우에 인텐트를 사용하고 싶은데...

0 추천

 

안녕하세요.

버튼을 눌렀을 경우에, 인텐트가 동작하도록 하고 싶은데 그 방법을 모르겠습니다.

아래의 코드는, 다이얼로그를 상속받아서 만든 것입니다.

저기서, 온클릭 부분에 클릭시에, Register.class로 인텐트 이동을 하고 싶은데.. 어디가 잘못된건지 ..ㅠ

기본적인 Intent를 온클릭에 써주면, 에러가 뜹니다.

예)

Intent it = new Intent(getApplicationContext(),Seat.class);
startActivity(it);

 

어떻게 해야, 아래의 코드에서 버튼을 클릭시에, 제데로 Register.class로 동작을 시킬수 있을까요 ㅠ

 

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

public class Custom_Dialog2 extends Dialog implements View.OnClickListener{

    Button btn;

    // Context ctx;
    // ctx = Custom_Dialog2.this;

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

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

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

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

                // Intent intent = new Intent(    , Register.class);


                dismiss();
            }
        }
    }
}
공산당 (1,960 포인트) 님이 2016년 12월 3일 질문

2개의 답변

0 추천
안녕하세요

해결 안되셨구나ㅠㅠ
틀린 답을 드렸나보네요...

Intent 객체를 지역변수 말고
멤버변수로 선언하세요

Button btn; << 밑에 선언
Intent intent;

intent = new Intent(getContext(), Register.class);

getContext().startActivity(intent);

수고하세요!
히로시 (10,800 포인트) 님이 2016년 12월 3일 답변
답변 감사드립니다.

그런데, 말씀해주신것처럼 옮겼는데 에러가 없기는 한데..

버튼의 확인을 눌렀을 경우에, 인텐트를 실행시키고 싶은데..

어찌해야할지 ㅠ

startActivity(intent); 를 써주려고 했는데 자동완성에도 뜨지가 않고..

그대로 startActivity를 가져다 써보았는데 안나오네요 ㅠ

package ex.real_project;

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

public class Custom_Dialog2 extends Dialog implements View.OnClickListener{

    Button btn;
    Intent intent;

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

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

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

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

                intent = new Intent(getContext(),Register.class);
                

                dismiss();
            }
        }
    }
}
0 추천
Context 로  startActivity 호출해보세요
블랙꽃 (1,250 포인트) 님이 2016년 12월 3일 답변
애초에 startActivity가 안뜨는데 .. 이거 어떻게 된건가요 ;;;;
죄송합니다만.. 한번 작성해주실수 있을까요 ..ㅜㅡ ㅜ ?
이거 두개다 안되요??
getContext().startActivity(intent);
getApplicationContext().startActivity(intent);
해결했ㅅ브니다. 사랑합니다.
...