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

코드정리 질문드립니다!

0 추천
        btn_Add = (Button) findViewById(R.id.btn_Add);
        btn_Add.setOnClickListener(mClick);

만약 저렇게 참조하거나 이벤트를달아야할 뷰들이 너~~무 많으면 어떻게 관리하시나요??

따로 참조하거나 이벤트를 달아주는 메소드를 만드나요??

궁금합니다..

그리고 코드를 정리하는 팁이있으시면 알려주세요!!

soso1223 님이 2018년 3월 31일 질문

4개의 답변

0 추천
view에 'android;onClick' property를 사용하면 그나마 간결하게 바꿀수 있습니다.

http://jizard.tistory.com/9 (4) XML 상에서 onClick 속성을 이용하는 방법)
디자이너정 (42,810 포인트) 님이 2018년 4월 1일 답변
0 추천
ButterKnife나 DataBinder? 사용해보세요

 

annotation이용해서 @OnClick 이나 @BindView 등 불필요한 코드들 확 줄여줄수 있어요
Bateaux (5,200 포인트) 님이 2018년 4월 4일 답변
0 추천

최신 안드로이드 스튜디오를 쓰면 (Button) 을 안해도 됩니다.


btn_Add를 나중에 따로 사용할 필요가 없으면 이렇게만 해도 됩니다. 

findViewById(R.id.btn_Add).setOnClickListener(mClick);

build.gradle 에 이렇게 적어주면

// app/build.gradle
android{ 
.
.
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}
findViewById(R.id.btn_Add).setOnClickListener(__ -> { 
  Log.i("###", "aaaa"); 
  int a = 1;
});

이렇게도 사용가능 합니다.


 

데이터바인딩( https://developer.android.com/topic/libraries/data-binding/index.html?hl=ko )을 사용하면 이렇게도 가능합니다.

MainActivityBinding binding = DataBindingUitl.setContentView(this, R.layout.main_activity);
binding.btnAdd.setOnClickListener(__ -> {
  Log.i("###", "asdf");
  int a = 1;
});

 

쎄미 (162,410 포인트) 님이 2018년 4월 5일 답변
쎄미님이 2018년 4월 8일 수정
0 추천
mvvm 검색요, 개인적으로는 아직 mvvm 을 익히지 않아서 기능별로 class 를 나누어서 작업 합니다.
aucd29 (218,390 포인트) 님이 2018년 4월 5일 답변
...