Create a Tip Calculator

Description

The following code shows how to create a Tip Calculator. It shows

  • how to get value from EditText.
  • how to set value to TextView.
  • how to format a number.
  • how to catch exception and log it.

Example


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >/*from www.  j a v  a  2  s  .  co m*/
    <EditText
        android:id="@+id/mealprice"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:autoText="true"
        />
    <Button
        android:id="@+id/calculate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Calculate Tip"
        />
    <TextView
        android:id="@+id/answer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text=""
        />

</LinearLayout>

Java code


package com.java2s.app;
//from ww w.jav a2  s  .  co m
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import java.text.NumberFormat;

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText mealpricefield = (EditText) findViewById(R.id.mealprice);
        final TextView answerfield = (TextView) findViewById(R.id.answer);

        final Button button = (Button) findViewById(R.id.calculate);
        button.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                try {
                    // grab the meal price from the UI
                    String mealprice = mealpricefield.getText().toString();
                    String answer = "";
                    if (mealprice.indexOf("$") == -1) {
                        mealprice = "$" + mealprice;
                    }
                    float fmp = 0.0F;
                    NumberFormat nf = java.text.NumberFormat.getCurrencyInstance();
                    fmp = nf.parse(mealprice).floatValue();
                    //  20% tip
                    fmp *= 1.2;
                    answer = "Full Price, Including 20% Tip: " + nf.format(fmp);
                    answerfield.setText(answer);
                } catch (java.text.ParseException pe) {
                    Log.i("java2s.com", "Parse exception caught");
                    answerfield.setText("Failed to parse amount?");
                } catch (Exception e) {
                    Log.e("java2s.com", "Failed to Calculate Tip:" + e.getMessage());
                    e.printStackTrace();
                    answerfield.setText(e.getMessage());
                }
            }
        });
    }
}
Create a Tip Calculator




















Home »
  Android »
    Android UI »




UI Basics
Action Bar
Animation
Button
Canvas
CheckBox
Clock Date Picker
Dialog
EditText
Event
Fragment
Gesture
GridView
ImageView
Layout
ListView
Map
Menu
Model
OpenGL
ProgressBar
RadioButton
Spinner
Tab
TextView
Thread
Toast
Video
View
WebView