심심할 때 뭐하고 놀지

안드로이드 - 버튼 OnClickListener 인터페이스 구현 본문

Android

안드로이드 - 버튼 OnClickListener 인터페이스 구현

오늘을살자 2010.03.17 16:10

한 Activity에 버튼이 많은 경우 클릭이벤트를 다음과 같이 일일이 지정해주는 것은 불편하다.


        Button launch = (Button)findViewById(R.id.Button02);
        launch.setOnClickListener(new Button.OnClickListener(){
           public void onClick(View v) {
              Intent intent = new Intent(StoryCook.this, category2.class);
              startActivity(intent);
           }
        });



이 Activity가 OnClickListener 인터페이스 구현하도록 해주면 다음과 같이 간편해진다.

public class BlogTest extends Activity implements OnClickListener {

    static final int[] BUTTONS = {
             R.id.ExitButton,
             R.id.Button00,
             R.id.Button01,
             R.id.Button02,
             R.id.Button03

    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        for(int btnId: BUTTONS) {
            Button btn = (Button)findViewById(btnId);
            btn.setOnClickListener(this);
        }

    }
   
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.Button00:
                  Intent i00 = new Intent(this, Sample00.class);
                  startActivity(i00);
                  break;       
            case R.id.Button01:
                  Intent i01 = new Intent(this, Sample01.class);
                  startActivity(i01);
                  break;
            case R.id.ExitButton:
                  finish();
                  break;
        }
    }

}

저작자 표시 비영리 변경 금지
신고
2 Comments
댓글쓰기 폼