IT모아

안드로이드 OnclickListener 가독성 괜찮은 코드 본문

안드로이드

안드로이드 OnclickListener 가독성 괜찮은 코드

아롱사태남 2016.07.02 15:09

기존에 내가 알고 있던 방식은 다음과 같았다.

public class SearchReview extends Activity implements View.OnClickListener {

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_review_list);

testBtn = (Button)findViewById(R.id.button3);

testBtn.setOnClickListener(this);

}


@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button2 :
String searchData = String.valueOf(searchText.getText());
url = "http://10.0.2.2/androidTest.do?param=" + searchData;
adapter.clear();
(new SearchReviewWorker()).execute();
break;

}

}

}


위처럼 OnclickListener를 implements 하여 onclick을 오버라이드 시켜야 하는 번거로움... 특히 버튼 이벤트를 바인드할때 

하나의 버튼이 아닌 여러개의 버튼을 클릭한다고 생각해보자... 라인 늘어나는게 보일것이다


하지만 다음과 같은 방법을 제시해본다.


public class SearchReview extends Activity {


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_review_list);

findViewById(R.id.button4).setOnClickListener(mClickListener);

}




Button.OnClickListener mClickListener = new View.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.button4:
Log.d("OnClickListener", "click session button");
// 액티비티 실행
Intent intentSubActivity =
new Intent(MainActivity.this, SearchReview.class);
startActivity(intentSubActivity);
break;
}
}
};


}

익명 클래스를 이용하는것인데.. 속도는 보장못한다... 상황에 맞게 사용하길 바란다.

0 Comments
댓글쓰기 폼
Prev 1 2 3 4 5 6 7 8 Next