package biz.tekeye.listeners; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class main extends Activity implements OnClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //Method 1 attach an instance of HandleClick class to the Button findViewById(R.id.button1).setOnClickListener(new HandleClick()); //Method 2 use the handleClick variable to attach the event listener findViewById(R.id.button2).setOnClickListener(handleClick); //Method 3 anonymous inner class to attach the event listener findViewById(R.id.button3).setOnClickListener(new OnClickListener(){ public void onClick(View arg0) { Button btn = (Button)arg0; TextView tv = (TextView) findViewById(R.id.textview3); tv.setText("You pressed " + btn.getText()); } }); //Method 4 Implementation in Activity findViewById(R.id.button4).setOnClickListener(this); //Method 5 set up via layout attribute onClick assigned to HandleClickByAttribute } //Method 1 a call implementing onClickListener private class HandleClick implements OnClickListener{ public void onClick(View arg0) { Button btn = (Button)arg0; //cast view to a button // get a reference to the TextView TextView tv = (TextView) findViewById(R.id.textview1); // update the TextView text tv.setText("You pressed " + btn.getText()); } } //Method 2 a variable declared as a type of interface private OnClickListener handleClick = new OnClickListener(){ public void onClick(View arg0) { Button btn = (Button)arg0; TextView tv = (TextView) findViewById(R.id.textview2); tv.setText("You pressed " + btn.getText()); } }; //Method 4 Implementation on the onClickListener by the Activity public void onClick(View arg0) { Button btn = (Button)arg0; TextView tv = (TextView) findViewById(R.id.textview4); tv.setText("You pressed " + btn.getText()); } public void HandleClickByAttribute(View arg0) { Button btn = (Button)arg0; TextView tv = (TextView) findViewById(R.id.textview5); tv.setText("You pressed " + btn.getText()); } }