가장 단순하게는 EventHandler class의 생성자에 MainActivity를 파라미터로 주어서 할 수 있습니다.
public class EventHandler implement View.onClickListener{
Activity activity
public EventHandler(Activity activity) {
this.activity = activity;
}
@Override
public void onClick(View view) {
//do whatever you want
//activity.textView1.setText("Something");
}
}
public class MainActivity extends Activity {
public onCreate(...) {
super.onCreate();
findViewById.(R.id.myButton).setOnClickListener(new EventHandler(MainActivity.this));
}
}
이것보다는 MVP나 MVVM 패턴을 구현해서 뷰와 모델, 이벤트 간에 종속성이 없는 코드를 만드시는게 훨씬 더 좋은 practice 입니다. 여기서 다 다루기는 불가능해서 제 블로그에 도움될 만한 글을 제 블로그에 올려놓았습니다. 한번 참고해 보시죠.
ButterKnife는 가고 Data Binding 등장
DataBinding을 이용하여 MVVM 패턴 구현하기