ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 안드로이드 OnclickListener 가독성 괜찮은 코드
    안드로이드 2016. 7. 2. 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) 2016.09.03
    안드로이드 SparseArray  (0) 2016.07.18
    안드로이드 Context 란?  (0) 2016.06.19
    안드로이드 스크롤뷰 와 어댑터뷰 차이점  (0) 2016.06.19
    안드로이드 Activity 란?  (0) 2016.06.18
Designed by Tistory.