Why should I use View argument instead of whatever I want?
<p>Here is my simple example. I defined a button in main.xml file, and 'on Click' property to call my onClickk method when button01 is tapped. It is perfectly fine, but I don't understand why should I pass <code>View</code> object when I want to pass simply <code>Button</code> and do no casting.</p>

<p>If I'm passing the button as Button the application stops unexpectedly when I tap the button.</p>

<pre><code>public class Als extends Activity {

    Button button01; 

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        button01 = (Button) findViewById(R.id.Button01);
        button01.setText("something");

    }

    public void onClickk(View button01) {
        Button but = (Button) button01;
        but.setText("Cooool");
    }
}
</code></pre>
