Android開発監聴事件の3つの実現方法


すべての空間にはオンロックイベントがあります。ここではButtonとImageButtonのクリックイベントを紹介します。
イベントのモニターをクリックすることで、ボタンをクリックしてから対応するアクションを起動することができます。
一、匿名の内部クラスで実現する
public class MainActivity extends ActionBarActivity {
	//     
	private Button loginButton;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		/*     
		*findViewById   R    id 。
		*findViewById      View  ,          。
		*/
		loginButton = (Button) findViewById(R.id.button1);
		/*             
		*setOnClickListener  
		*/
		 loginButton.setOnClickListener(new OnClickListener() {
		
		 @Override
		 public void onClick(View arg0) {
		 log.i("tag","             ");
		 }
		 });
	}
}
二、独立類による実現

public class MainActivity extends ActionBarActivity {
	//     
	private Button loginButton;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//     
		loginButton = (Button) findViewById(R.id.button1);
		//      
		loginButton.setOnClickListener(listener);	
	}
	//  OnClickListener    
	OnClickListener listener = new OnClickListener() {

		@Override
		public void onClick(View arg0) {
			Log.i("tag", "           ");
		}
	};
}
三、インターフェースを実現することによって実現する。
public class MainActivity extends ActionBarActivity implements OnClickListener {
	//     
	private ImageButton imgBt;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//     
		imgBt=(ImageButton) findViewById(R.id.imageButton1);
		//    
		imgBt.setOnClickListener(this);	
	}
	/*Activity    OnClickListener      
	*      Activity             :onClick(view v)
	*                 ,    this           。
	*/
	@Override
	public void onClick(View v) {
		Log.i("tag", "            ");	
	}
}
まとめ:コントロールを初期化する目的は、IDを通じて操作が必要なコントロールを検索し、コントロールに対してイベントの傍受を行い、イベントを傍受する方式は以上に紹介した3つです。