Introduction
In this article I will tell you about the "onClick()" method that is available in the event listener interface. This method will be called by the Android framework to see that the listener that has been registered is triggered by user interaction with the item in the UI. When we want to use many buttons or views in our project can use the "android:onClick="oncClick" attribute in the XML file for every view. And in the Java file, we can use "onClick( View view)" on every view without set "onclickLitener" using get the id of every button or view, as described in the following.
Step 1
Create new a project as "File" -> "New" -> "Android Application Project" as shown below:
Step 2
Now open the XML file as "res/layout/activity_main.xml" and update it as in the following code.
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity" >
- <Button
- android:id="@+id/button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentRight="true"
- android:layout_alignParentTop="true"
- android:onClick="onClick"
- android:text="Button 1" />
- <Button
- android:id="@+id/button2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentRight="true"
- android:layout_below="@+id/button1"
- android:layout_marginTop="36dp"
- android:onClick="onClick"
- android:text="Button 2 " />
- <Button
- android:id="@+id/button3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentRight="true"
- android:layout_below="@+id/button2"
- android:layout_marginTop="45dp"
- android:onClick="onClick"
- android:text="Button 3" />
- <Button
- android:id="@+id/button4"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentRight="true"
- android:layout_below="@+id/button3"
- android:layout_marginTop="51dp"
- android:onClick="onClick"
- android:text="Button 4" />
- <Button
- android:id="@+id/button5"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentRight="true"
- android:layout_below="@+id/button4"
- android:layout_marginTop="38dp"
- android:onClick="onClick"
- android:text="Quit App" />
- </RelativeLayout>
Step 3
Open Java from "src/com.newandroid.project/MainActivity.java" and update it with the following code:
- package com.newandroid.project;
- import android.os.Bundle;
- import android.app.Activity;
- import android.view.Menu;
- import android.view.View;
- import android.widget.Button;
- public class MainActivity extends Activity {
- Button button1,button2,button3,button4,button5;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- button1=(Button) findViewById(R.id.button1);
- button2=(Button) findViewById(R.id.button2);
- button3=(Button) findViewById(R.id.button3);
- button4=(Button) findViewById(R.id.button4);
- button5=(Button) findViewById(R.id.button5);
- }
- public void onClick(View v) {
- final int id = v.getId();
- switch (id) {
- case R.id.button1:
- button1.setText("You clicked on Button 1");
- break;
- case R.id.button2:
- button2.setText("You clicked on Button 2");
- break;
- case R.id.button3:
- button3.setText("You clicked on Button 3");
- break;
- case R.id.button4:
- button4.setText("You clicked on Button 4");
- break;
- case R.id.button5:
- button5.setText("You clicked on Button 5");
- break;
- }
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
-
- getMenuInflater().inflate(R.menu.activity_main, menu);
- return true;
- }
- }
Step 4
Open and update the "AndroidManifest.xml" file from "res/AndroidManifest.xml" and update it as shown below:
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.newandroid.project"
- android:versionCode="1"
- android:versionName="1.0" >
- <uses-sdk
- android:minSdkVersion="8"
- android:targetSdkVersion="17" />
- <application
- android:allowBackup="true"
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name"
- android:theme="@style/AppTheme" >
- <activity
- android:name="com.newandroid.project.MainActivity"
- android:label="@string/app_name" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
- </manifest>
Step 5
See Output.
First view before calling onClick:
After clicking on Button2:
Before clicking on Button3:
After calling the "Quit App" button: