앱 만들기/안드로이드

안드로이드 버튼 이벤트를 구현하는 방법 4가지 - 4

나도 처음이야 2022. 7. 1.

https://soo0100.tistory.com/1877

 

안드로이드 버튼 이벤트를 구현하는 방법 4가지 - 3

https://soo0100.tistory.com/1871 안드로이드 버튼 이벤트를 구현하는 방법 4가지 - 2 https://soo0100.tistory.com/1865 안드로이드 버튼 이벤트를 구현하는 방법 4가지 - 1 안드로이드 버튼 이벤트를 구현하는..

soo0100.tistory.com

 

안드로이드 버튼 이벤트 구현 4번째는 람다식을 이용해 본다.

람다식은 자바8부터 사용지원되며, 안드로이드에서도 자바8을 지원한다.

람다식은 이름이 없는 함수 이다. 그렇기에 여러곳에서 사용하기는 어렵고, 한곳에서만 사용되는 function 일 경우

간략함을 위해서 사용이 가능하다.

그렇기에 하나의 버튼 이벤트를 구현한다면 람다식을 사용할 수 있다.

 

지난시간과 같이 XML 로 버튼 하나를 구성한 화면이 있다는 가정아래,

자바 코드에서는 하기처럼 구현이 가능하다.

public class MainActivity extends AppCompatActivity {

    Button textButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = findViewById(R.id.button10);

버튼을 불러오고,

람다식을 이용해서 해당 버튼 이벤트만 구현한다. 

    button.setOnClickListener(view->{
        Toast.makeText(getApplicationContext(),"람다식 구현",Toast.LENGTH_LONG).show();
    });
}

익명 클래스로 구현했다면 하기와 같은 모습일것 이다.

button.setOnClickListener(new View.OnClickListener() {
    //인터페이스를 구현하는 클래스. 익명클래스.
    @Override
    public void onClick(View view) {
        Toast.makeText(getApplicationContext(),"익명 클래스로 구현",Toast.LENGTH_LONG).show();
    }

});

람다식의 포맷은 하기와 같다

(a,b, ...) ->{ ... }

a,b 등의 인자값만 받고 -> {} 괄호 안에 구현 문장을 적어준다.

  

이제 하기 코드를 보면 이해가 간다.

 

view 인자만 받고 -> 적고 { } 괄호 안에 구현한다. 토스트 박스를.

button.setOnClickListener(view->{
    Toast.makeText(getApplicationContext(),"람다식 구현",Toast.LENGTH_LONG).show();
});

람다식은 하나의 기능만 사용하는 함수를 구현할 때

간결 함을 위해서 사용한다. 즉, 이름이 없는 함수 형식이다.

감사합니다.

반응형

댓글