안드로이드 배우기---OnClickListener를 실현하는 세 가지 방법

1. OnClickListener는 Button, TextView 등 컨트롤을 감청하고 이 컨트롤이 클릭될 때 해당하는 이벤트에 응답하며 onClick() 방법을 통해 구체적인 응답을 실현한다.
2. 실현되는 세 가지 방식 (1) 익명 내부 클래스의 실현 형식:
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                System.out.println("     !");
            }
        });

컨트롤이 적은 경우 OnClickListener 클래스를 따로 만들 필요가 없습니다.
(2) 외부 클래스를 통한 구현 형식:
    class MyOnClickListener implements OnClickListener{
        @Override
        //    :                
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Toast.makeText(MainActivity.this, "   ", Toast.LENGTH_SHORT).show();
        }
    }
        button1.setOnClickListener(new MyOnClickListener(){
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                super.onClick(v);
                Toast.makeText(MainActivity.this, "  Button1", Toast.LENGTH_SHORT).show();
            }
        });

        button2.setOnClickListener(new MyOnClickListener(){
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                super.onClick(v);
                Toast.makeText(MainActivity.this, "  Button2", Toast.LENGTH_SHORT).show();
            }
        });

이런 방식은 일반적으로 비교적 적게 쓴다
(3) 인터페이스를 통한 구현 형식:
public class MainActivity extends Activity implements OnClickListener{
        button.setOnClickListener(this);

 public void onClick(View v) {
        // TODO Auto-generated method stub
        switch(v.getId()){
        case R.id.xx:
         ...
         ...
        }
    }
}

이런 방식은 일반적으로 컨트롤이 비교적 많은 상황에서 switch 문장을 통해 서로 다른 단추를 서로 다른 방식으로 응답하는 데 쓰인다

좋은 웹페이지 즐겨찾기