Button Handler Vs View.OnClickListener Android

Button Handler Vs View.OnClickListener Android 

MainActivity.java
activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

  <EditText
      android:layout_width="100dp"
      android:layout_height="wrap_content"
      android:inputType="numberDecimal"
      android:id="@+id/t1"/>
    <EditText
        android:id="@+id/t2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:layout_marginLeft="100dp"/>

    <Button
        android:id="@+id/p"
        android:paddingHorizontal="2dp"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginTop="50dp"
       android:text="+"
        android:paddingBottom="5dp"
        android:gravity="center"
        android:textSize="30dp"
        />
    <Button
        android:id="@+id/s"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:text="-"
        android:textSize="30dp"
        android:layout_marginTop="50dp"
        android:layout_marginLeft="45dp"
        />
    <Button
        android:id="@+id/m"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginTop="50dp"
        android:layout_marginLeft="90dp"
        android:textSize="30dp"
        android:text="*"
        />
    <Button
        android:id="@+id/d"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginTop="50dp"
        android:layout_marginLeft="140dp"
        android:text="/"
        />
  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
       android:textSize="25dp"

      android:layout_marginTop="10dp"
      android:layout_marginLeft="199dp"
    android:id="@+id/show"/>


</RelativeLayout>


MainActivity.java

package com.patelada.calculator;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
EditText num1,num2;
TextView result;
Button add,sub,multi,div;
TextView show;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        num1=findViewById(R.id.t1);
        num2=findViewById(R.id.t2);

        add=findViewById(R.id.p);
      sub=findViewById(R.id.s);
        multi=findViewById(R.id.m);
        div=findViewById(R.id.d);
        show=findViewById(R.id.show);
        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               AddCalculator();
            }
        });
        sub.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SubCalculator();
            }
        });
        multi.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                MultiCalculator();
            }
        });
        div.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                DivCalculator();
            }
        });
    }
    private void AddCalculator() {
        String number1=num1.getText().toString();
        String number2=num2.getText().toString();
        float n1=Float.parseFloat(number1);
        float n2=Float.parseFloat(number2);
        float result=n1+n2;
        show.setText("Total="+result);
    }
    private void SubCalculator() {
        String number1=num1.getText().toString();
        String number2=num2.getText().toString();
        float n1=Float.parseFloat(number1);
        float n2=Float.parseFloat(number2);
        float result=n1-n2;
        show.setText("Total="+result);
    }
    private void MultiCalculator() {
        String number1=num1.getText().toString();
        String number2=num2.getText().toString();
        float n1=Float.parseFloat(number1);
        float n2=Float.parseFloat(number2);
        float result=n1*n2;
        show.setText("Total="+result);
    }
    private void DivCalculator() {
        String number1=num1.getText().toString();
        String number2=num2.getText().toString();
        float n1=Float.parseFloat(number1);
        float n2=Float.parseFloat(number2);
        float result=n1/n2;
        show.setText("Total="+result);

    }

}




0 Comments