I am wondering what's the difference between passing View.OnClickListener() an OnClickListener instance vs an View.OnClickListener **subclass** instance? Code: Button myBtn = (Button) findViewById(R.id.my_btn); //OnClickListener instance myBtn.setOnClickListener(myBtnListener); private View.OnClickListener myBtnListener = new View.OnClickListener() { @Override public void onClick(View v) { myBtn.setText("You Clicked on My Belly Button"); } }; //OnClickListener subclass instance myBtn.setOnClickListener(new BtnListener()); private class BtnListener implements View.OnClickListener { @Override public void onClick(View v) { v.setText("You Clicked on My Belly Button"); } }
I thought it was rather clear that I wasn't asking for what is a subclass that every taxi driver knows, but specifically about setOnClickListener, which only overrides onClick(View v). I think in my example they are the same, but usually it is the Activity class, class MyActivity extends Activity implements View.OnClickListener, that subclasses the Lisntener Interface such that we can do btn.setOnClickListener(this);.