안드로이드 액티비티 화면간 이동

조회수 1240회

findViewById(R.id.Closeinfor).setOnClickListener(this); }

public void Inforclose (View view){
    switch (view.getId()){
        case R.id.Closeinfor :
            this.finish();
            break;
    }

저 부분에서 findViewById 그쪽에서 this를 사용하였다고 에러가 발생하는데 어떻게 해야지 에러를 없앨수 있을까요?

현재 개발 하려고 하는 것은 닫기 버튼을 누르면 이전 액티비티로 돌아가는 것입니다. Closeinfor는 정보창을 닫는 버튼의 id 입니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • this는 현재 객체(자기자신)를 가리키는 키워드입니다. this.finish()에서 에러가 발생했다면 this 객체가 액티비티가 아니기 때문입니다. 아래와 같이 해당 액비티비티(클래스명)를 써주는 방식으로 코드를 변경해보세요.

    SomeActivity.this.finish();
    

    간단한 팁으로 안드로이드 스튜디오에서 this라고 입력 후 .을 찍으면 해당 객체에서 사용할 수 있는 필드 및 함수에 대한 자동완성 리스트가 뜹니다. 리스트에서 finish() 함수가 있는지 확인해보세요. (=this 객체가 액티비티가 맞는지 확인하는 과정)

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)