앱 만들기/안드로이드

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

나도 처음이야 2022. 6. 23.

https://soo0100.tistory.com/1871

 

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

https://soo0100.tistory.com/1865 안드로이드 버튼 이벤트를 구현하는 방법 4가지 - 1 안드로이드 버튼 이벤트를 구현하는 방법 4가지를 다루어 보겠습니다. 오늘은 그 중 첫 번째로 XML 을 활용한 방법입

soo0100.tistory.com

오늘은 이벤트를 관리하는 클래스를 별도로 만들어서

버튼 이벤트를 구현해보겠습니다.  사실 별도 클래스를 만드는 만큼 하나의 버튼 이벤트를 처리하기보다는

여러 개의 이벤트를 처리하는 게 더 효율적입니다.

실제 구현 시 이벤트 클래스를 구현하신다면 View 인자 값으로 각 컴포넌트 아이디를 식별하여

그에 맞는 이벤트를 구현해주시면 됩니다.

 

1. MainActivity 에선 버튼에 이벤트 클래스를 리스너로 등록한다

   - 이벤트 클래스에서 MainActity 의 Context 에 접근하기위해서 Context 필드를 선언한다.

public class MainActivity extends AppCompatActivity {

    // 이벤트 클래스에서 Context 를 참조하기 위해 선언.
    public static Context mContext;
    private TextView textView;
    EditText eText;
    Button textButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //컨텍스트를 저장하고
        mContext = this;


        Button button = findViewById(R.id.button10);
        //이벤트 처리클래스를 버튼 클릭 리스너에 등록한다.
        onClickT onClickT = new onClickT();
        button.setOnClickListener(onClickT);        
    }

2. 이벤트 클래스를 구현한다. 

    클릭 인터페이스를 구현하고, OnClick 함수를 오버라이딩 한다.


class onClickT implements View.OnClickListener{

    @Override
    public void onClick(View view) {
        Toast.makeText(MainActivity.mContext,"인터페이스를 클래스로 구현",Toast.LENGTH_LONG).show();
    }

- 이벤트 클래스를 구현 했으므로,

   여러 컴포넌트의 onClick 이벤트를 한번 에 이곳에서 구현 할 수 있다.

   if(view.getId()) 로 컴포넌트를 구별한다.

 

결과는 하기와 같다.

 

 

다음 포스팅에서는 버튼 리스너를 람다식으로 구현해보겠습니다.

감사합니다.

 

https://soo0100.tistory.com/1886

 

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

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

soo0100.tistory.com

 

반응형

댓글