不幸的是,android emulator上的应用程序已停止

不幸的是,android emulator上的应用程序已停止,android,android-edittext,Android,Android Edittext,这是我的main.java package com.example.citylife; import android.support.v7.app.ActionBarActivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android

这是我的main.java

package com.example.citylife;

import android.support.v7.app.ActionBarActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MainActivity extends Activity {
Button btn1,btn2,btn3,btn4,btn5,btn6,btn7;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn1=(Button) findViewById(R.id.button1);
    btn2=(Button) findViewById(R.id.button2);
    btn3=(Button) findViewById(R.id.button3);
    btn4=(Button) findViewById(R.id.button4);
    btn5=(Button) findViewById(R.id.button5);
    btn6=(Button) findViewById(R.id.button6);
    btn7=(Button) findViewById(R.id.button7);
    btn1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent obj1=new Intent(MainActivity.this,Hotels.class);
            startActivity(obj1);

        }
    });
    btn2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent obj2=new Intent(MainActivity.this,Cabs.class);
            startActivity(obj2);

        }
    });
    btn3.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent obj3=new Intent(MainActivity.this,Hospitals.class);
            startActivity(obj3);

        }
    });
    btn4.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent obj4=new Intent(MainActivity.this,Monuments.class);
            startActivity(obj4);

        }
    });
    btn5.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent obj5=new Intent(MainActivity.this,Theatres.class);
            startActivity(obj5);

        }
    });
    btn6.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent obj6=new Intent(MainActivity.this,Malls.class);
            startActivity(obj6);

        }
    });
    btn7.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent obj7=new       Intent(MainActivity.this,ExpenseCalculator.class);
            startActivity(obj7);

        }
    });

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}
}
这是我的main.xml

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnCount="1"
android:rowCount="12" 
android:background="@color/skyblue">

<Button
    android:id="@+id/button1"
    android:layout_width="290dp"
    android:layout_column="0"
    android:layout_gravity="center"
    android:layout_marginTop="30dp"
    android:layout_row="0"
    android:text="HOTELS" 
    android:textStyle="bold|italic"
    android:textColor="@color/darkblue"/>

<Button
    android:id="@+id/button2"
    android:layout_width="290dp"
    android:layout_column="0"
    android:layout_gravity="center"
    android:layout_marginTop="15dp"
    android:layout_row="1"
    android:text="CABS" 
    android:textStyle="bold|italic"
    android:textColor="@color/darkblue"/>

<Button
    android:id="@+id/button3"
    android:layout_width="290dp"
    android:layout_column="0"
    android:layout_gravity="center"
    android:layout_row="2"
    android:text="HOSPITALS" 
    android:layout_marginTop="15dp"
    android:textStyle="bold|italic"
    android:textColor="@color/darkblue"/>

<Button
    android:id="@+id/button4"
    android:layout_width="290dp"
    android:layout_column="0"
    android:layout_gravity="center"
    android:layout_row="3"
    android:text="MONUMENTS" 
    android:layout_marginTop="15dp"
    android:textStyle="bold|italic"
    android:textColor="@color/darkblue"/>

<Button
    android:id="@+id/button5"
    android:layout_width="290dp"
    android:layout_column="0"
    android:layout_gravity="center"
    android:layout_row="4"
    android:text="THEATRES" 
    android:layout_marginTop="15dp"
    android:textStyle="bold|italic"
    android:textColor="@color/darkblue"/>

<Button
    android:id="@+id/button6"
    android:layout_width="290dp"
    android:layout_column="0"
    android:layout_gravity="center"
    android:layout_row="5"
    android:text="MALLS" 
    android:layout_marginTop="15dp"
    android:textStyle="bold|italic"
    android:textColor="@color/darkblue"/>

<Button
    android:id="@+id/button7"
    android:layout_width="290dp"
    android:layout_column="0"
    android:layout_gravity="center"
    android:layout_row="6"
    android:text="EXPENSE CALCULATOR" 
    android:layout_marginTop="15dp"
    android:textStyle="bold|italic"
    android:textColor="@color/darkblue"/>
XML:

放置空检查程序后的logcat:

06-27 13:39:10.275: D/gralloc_goldfish(2013): Emulator without GPU emulation detected.
06-27 13:43:57.694: D/dalvikvm(2013): GC_CONCURRENT freed 196K, 11% free 2598K/2920K, paused 7ms+34ms, total 259ms
06-27 13:43:57.844: D/AndroidRuntime(2013): Shutting down VM
06-27 13:43:57.844: W/dalvikvm(2013): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
06-27 13:43:57.914: E/AndroidRuntime(2013): FATAL EXCEPTION: main
06-27 13:43:57.914: E/AndroidRuntime(2013): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.citylife/com.example.citylife.ExpenseCalculator}: java.lang.NumberFormatException: Invalid int: ""
06-27 13:43:57.914: E/AndroidRuntime(2013):     at  android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.os.Looper.loop(Looper.java:137)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.ActivityThread.main(ActivityThread.java:5041)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at java.lang.reflect.Method.invokeNative(Native Method)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at java.lang.reflect.Method.invoke(Method.java:511)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at dalvik.system.NativeStart.main(Native Method)
06-27 13:43:57.914: E/AndroidRuntime(2013): Caused by: java.lang.NumberFormatException: Invalid int: ""
06-27 13:43:57.914: E/AndroidRuntime(2013):     at java.lang.Integer.invalidInt(Integer.java:138)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at java.lang.Integer.parseInt(Integer.java:359)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at java.lang.Integer.parseInt(Integer.java:332)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at com.example.citylife.ExpenseCalculator.onCreate(ExpenseCalculator.java:30)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.Activity.performCreate(Activity.java:5104)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
06-27 13:43:57.914: E/AndroidRuntime(2013):     ... 11 more
06-27 13:44:03.124: I/Process(2013): Sending signal. PID: 2013 SIG: 9
06-27 13:59:01.284: D/gralloc_goldfish(2367): Emulator without GPU emulation detected.
06-27 13:59:25.764: D/dalvikvm(2367): GC_CONCURRENT freed 169K, 11% free 2620K/2920K, paused 9ms+28ms, total 273ms
06-27 13:59:25.974: D/AndroidRuntime(2367): Shutting down VM
06-27 13:59:25.974: W/dalvikvm(2367): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
06-27 13:59:26.044: E/AndroidRuntime(2367): FATAL EXCEPTION: main
06-27 13:59:26.044: E/AndroidRuntime(2367): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.citylife/com.example.citylife.ExpenseCalculator}: java.lang.NumberFormatException: Invalid int: ""
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.os.Looper.loop(Looper.java:137)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread.main(ActivityThread.java:5041)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at java.lang.reflect.Method.invokeNative(Native Method)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at java.lang.reflect.Method.invoke(Method.java:511)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at dalvik.system.NativeStart.main(Native Method)
06-27 13:59:26.044: E/AndroidRuntime(2367): Caused by: java.lang.NumberFormatException: Invalid int: ""
06-27 13:59:26.044: E/AndroidRuntime(2367):     at java.lang.Integer.invalidInt(Integer.java:138)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at java.lang.Integer.parseInt(Integer.java:359)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at  java.lang.Integer.parseInt(Integer.java:332)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at com.example.citylife.ExpenseCalculator.onCreate(ExpenseCalculator.java:31)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.Activity.performCreate(Activity.java:5104)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
06-27 13:59:26.044: E/AndroidRuntime(2367):     ... 11 more
06-27 13:59:31.525: I/Process(2367): Sending signal. PID: 2367 SIG: 9
新日志:

06-27 14:16:09.574: D/gralloc_goldfish(2726): Emulator without GPU emulation detected.
06-27 14:18:48.964: D/dalvikvm(2726): GC_CONCURRENT freed 170K, 11% free 2611K/2912K, paused 10ms+30ms, total 209ms
06-27 14:18:49.036: D/AndroidRuntime(2726): Shutting down VM
06-27 14:18:49.044: W/dalvikvm(2726): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
06-27 14:18:49.114: E/AndroidRuntime(2726): FATAL EXCEPTION: main
06-27 14:18:49.114: E/AndroidRuntime(2726): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.citylife/com.example.citylife.ExpenseCalculator}: java.lang.NumberFormatException: Invalid int: ""
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.os.Looper.loop(Looper.java:137)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread.main(ActivityThread.java:5041)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at java.lang.reflect.Method.invokeNative(Native Method)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at java.lang.reflect.Method.invoke(Method.java:511)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at  dalvik.system.NativeStart.main(Native Method)
06-27 14:18:49.114: E/AndroidRuntime(2726): Caused by: java.lang.NumberFormatException: Invalid int: ""
06-27 14:18:49.114: E/AndroidRuntime(2726):     at java.lang.Integer.invalidInt(Integer.java:138)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at java.lang.Integer.parseInt(Integer.java:359)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at java.lang.Integer.parseInt(Integer.java:332)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at com.example.citylife.ExpenseCalculator.onCreate(ExpenseCalculator.java:43)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.Activity.performCreate(Activity.java:5104)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
06-27 14:18:49.114: E/AndroidRuntime(2726):     ... 11 more
06-27 14:18:57.084: I/Process(2726): Sending signal. PID: 2726 SIG: 9

问题是,从Edittext中检索值时,Edittext为null。您尚未将视图指定给它

分配视图后,只需移动代码即可检索值,如下面的代码所示

public class ExpenseCalculator extends Activity {
EditText ed1,ed2,ed3,ed4,ed5,ed6,ed7;
Button btn1,btn2;
TextView tt1,tt2;
int a1,b2,c3,d4,e5,f6,g7; //these variables will be assigned 0
//Removed the code from here

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_expense_calculator);
    ed1=(EditText) findViewById(R.id.editText1);
    ed2=(EditText) findViewById(R.id.editText2);
    ed3=(EditText) findViewById(R.id.editText3);
    ed4=(EditText) findViewById(R.id.editText4);
    ed5=(EditText) findViewById(R.id.editText5);
    ed6=(EditText) findViewById(R.id.editText6);

    //added the code here after ed1,ed2,ed3,ed4,ed5,ed6 is assigned
    if(!ed1.getText().toString().equals(""))
    a1=Integer.parseInt(ed1.getText().toString());
    if(!ed2.getText().toString().equals(""))
    b2=Integer.parseInt(ed2.getText().toString());
    if(!ed3.getText().toString().equals(""))
    c3=Integer.parseInt(ed3.getText().toString());
    if(!ed4.getText().toString().equals(""))
    d4=Integer.parseInt(ed4.getText().toString());
    if(!ed5.getText().toString().equals(""))
    e5=Integer.parseInt(ed5.getText().toString());
    if(!ed6.getText().toString().equals(""))
    f6=Integer.parseInt(ed6.getText().toString());
    if(!ed7.getText().toString().equals(""))
    g7=Integer.parseInt(ed7.getText().toString());
    int total = a1 + b2 + c3 + d4 + e5 + f6;

将int变量初始化为0。 因此,即使您的edittext为空,也会有一个默认值

或者在进行任何类型的数据操作之前,先对值进行一些检查

public class ExpenseCalculator extends Activity {
EditText ed1,ed2,ed3,ed4,ed5,ed6,ed7;
Button btn1,btn2;
TextView tt1,tt2;

//initialize to zero
int a1,b2,c3,d4,e5,f6,g7,total = 0;

/* this code below already takes input from edit text during intialization of code hence it's probably null

int a1=Integer.parseInt(ed1.getText().toString());
int b2=Integer.parseInt(ed2.getText().toString());
int c3=Integer.parseInt(ed3.getText().toString());
int d4=Integer.parseInt(ed4.getText().toString());
int e5=Integer.parseInt(ed5.getText().toString());
int f6=Integer.parseInt(ed6.getText().toString());
int g7=Integer.parseInt(ed7.getText().toString());
int total = a1 + b2 + c3 + d4 + e5 + f6;
*/

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_expense_calculator);
    ed1=(EditText) findViewById(R.id.editText1);
    ed2=(EditText) findViewById(R.id.editText2);
    ed3=(EditText) findViewById(R.id.editText3);
    ed4=(EditText) findViewById(R.id.editText4);
    ed5=(EditText) findViewById(R.id.editText5);
    ed6=(EditText) findViewById(R.id.editText6);
    ed7=(EditText) findViewById(R.id.editText7);
    btn1=(Button) findViewById(R.id.button1);
    btn2=(Button) findViewById(R.id.button2);
    tt1=(TextView) findViewById(R.id.textView7);
    tt2=(TextView) findViewById(R.id.TextView01);

    btn1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            tt1.setText(Integer.toString(total));

        }
    });
    btn2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
          //getting the input only when button clicked
          a1=Integer.parseInt(ed1.getText().toString());
          b2=Integer.parseInt(ed2.getText().toString());
          c3=Integer.parseInt(ed3.getText().toString());
          d4=Integer.parseInt(ed4.getText().toString());
          e5=Integer.parseInt(ed5.getText().toString());
          f6=Integer.parseInt(ed6.getText().toString());
          g7=Integer.parseInt(ed7.getText().toString());
          total = a1 + b2 + c3 + d4 + e5 + f6;

        if(g7>total)
            tt2.setText("Go for it !!");
        else
            tt2.setText("Out of budget :(");

        }
    });
}

新错误是因为您没有在其中一个edittext中输入值。确保在所有编辑文本中输入值。如果默认情况下未输入值,则值为且integer不能接受我已编辑了我的问题并最终粘贴了日志,请检查我已将gettext应用于所有edittext变量,因此没有edittext框不会接受值我已对logcat提出质疑,请检查你必须移动声明a1、b2,…等,如我的回答所示。我相信你没有那样做。如果没有为变量赋值,则会导致变量为0。int a1、b2、c3、d4、e5、f6、g7;您试图将一个空值转换为一个数字,Stacktrace会引导您找到确切的答案和代码行。了解如何读取堆栈非常重要,值得一读。ExpenseCalculator.java:30-这告诉我发生这种情况的类和行号。我已将所有int变量初始化为零,但错误仍然存在:
06-27 13:39:10.275: D/gralloc_goldfish(2013): Emulator without GPU emulation detected.
06-27 13:43:57.694: D/dalvikvm(2013): GC_CONCURRENT freed 196K, 11% free 2598K/2920K, paused 7ms+34ms, total 259ms
06-27 13:43:57.844: D/AndroidRuntime(2013): Shutting down VM
06-27 13:43:57.844: W/dalvikvm(2013): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
06-27 13:43:57.914: E/AndroidRuntime(2013): FATAL EXCEPTION: main
06-27 13:43:57.914: E/AndroidRuntime(2013): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.citylife/com.example.citylife.ExpenseCalculator}: java.lang.NumberFormatException: Invalid int: ""
06-27 13:43:57.914: E/AndroidRuntime(2013):     at  android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.os.Looper.loop(Looper.java:137)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.ActivityThread.main(ActivityThread.java:5041)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at java.lang.reflect.Method.invokeNative(Native Method)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at java.lang.reflect.Method.invoke(Method.java:511)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at dalvik.system.NativeStart.main(Native Method)
06-27 13:43:57.914: E/AndroidRuntime(2013): Caused by: java.lang.NumberFormatException: Invalid int: ""
06-27 13:43:57.914: E/AndroidRuntime(2013):     at java.lang.Integer.invalidInt(Integer.java:138)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at java.lang.Integer.parseInt(Integer.java:359)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at java.lang.Integer.parseInt(Integer.java:332)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at com.example.citylife.ExpenseCalculator.onCreate(ExpenseCalculator.java:30)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.Activity.performCreate(Activity.java:5104)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
06-27 13:43:57.914: E/AndroidRuntime(2013):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
06-27 13:43:57.914: E/AndroidRuntime(2013):     ... 11 more
06-27 13:44:03.124: I/Process(2013): Sending signal. PID: 2013 SIG: 9
06-27 13:59:01.284: D/gralloc_goldfish(2367): Emulator without GPU emulation detected.
06-27 13:59:25.764: D/dalvikvm(2367): GC_CONCURRENT freed 169K, 11% free 2620K/2920K, paused 9ms+28ms, total 273ms
06-27 13:59:25.974: D/AndroidRuntime(2367): Shutting down VM
06-27 13:59:25.974: W/dalvikvm(2367): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
06-27 13:59:26.044: E/AndroidRuntime(2367): FATAL EXCEPTION: main
06-27 13:59:26.044: E/AndroidRuntime(2367): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.citylife/com.example.citylife.ExpenseCalculator}: java.lang.NumberFormatException: Invalid int: ""
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.os.Looper.loop(Looper.java:137)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread.main(ActivityThread.java:5041)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at java.lang.reflect.Method.invokeNative(Native Method)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at java.lang.reflect.Method.invoke(Method.java:511)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at dalvik.system.NativeStart.main(Native Method)
06-27 13:59:26.044: E/AndroidRuntime(2367): Caused by: java.lang.NumberFormatException: Invalid int: ""
06-27 13:59:26.044: E/AndroidRuntime(2367):     at java.lang.Integer.invalidInt(Integer.java:138)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at java.lang.Integer.parseInt(Integer.java:359)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at  java.lang.Integer.parseInt(Integer.java:332)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at com.example.citylife.ExpenseCalculator.onCreate(ExpenseCalculator.java:31)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.Activity.performCreate(Activity.java:5104)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
06-27 13:59:26.044: E/AndroidRuntime(2367):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
06-27 13:59:26.044: E/AndroidRuntime(2367):     ... 11 more
06-27 13:59:31.525: I/Process(2367): Sending signal. PID: 2367 SIG: 9
06-27 14:16:09.574: D/gralloc_goldfish(2726): Emulator without GPU emulation detected.
06-27 14:18:48.964: D/dalvikvm(2726): GC_CONCURRENT freed 170K, 11% free 2611K/2912K, paused 10ms+30ms, total 209ms
06-27 14:18:49.036: D/AndroidRuntime(2726): Shutting down VM
06-27 14:18:49.044: W/dalvikvm(2726): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
06-27 14:18:49.114: E/AndroidRuntime(2726): FATAL EXCEPTION: main
06-27 14:18:49.114: E/AndroidRuntime(2726): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.citylife/com.example.citylife.ExpenseCalculator}: java.lang.NumberFormatException: Invalid int: ""
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.os.Looper.loop(Looper.java:137)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread.main(ActivityThread.java:5041)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at java.lang.reflect.Method.invokeNative(Native Method)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at java.lang.reflect.Method.invoke(Method.java:511)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at  dalvik.system.NativeStart.main(Native Method)
06-27 14:18:49.114: E/AndroidRuntime(2726): Caused by: java.lang.NumberFormatException: Invalid int: ""
06-27 14:18:49.114: E/AndroidRuntime(2726):     at java.lang.Integer.invalidInt(Integer.java:138)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at java.lang.Integer.parseInt(Integer.java:359)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at java.lang.Integer.parseInt(Integer.java:332)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at com.example.citylife.ExpenseCalculator.onCreate(ExpenseCalculator.java:43)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.Activity.performCreate(Activity.java:5104)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
06-27 14:18:49.114: E/AndroidRuntime(2726):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
06-27 14:18:49.114: E/AndroidRuntime(2726):     ... 11 more
06-27 14:18:57.084: I/Process(2726): Sending signal. PID: 2726 SIG: 9
public class ExpenseCalculator extends Activity {
EditText ed1,ed2,ed3,ed4,ed5,ed6,ed7;
Button btn1,btn2;
TextView tt1,tt2;
int a1,b2,c3,d4,e5,f6,g7; //these variables will be assigned 0
//Removed the code from here

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_expense_calculator);
    ed1=(EditText) findViewById(R.id.editText1);
    ed2=(EditText) findViewById(R.id.editText2);
    ed3=(EditText) findViewById(R.id.editText3);
    ed4=(EditText) findViewById(R.id.editText4);
    ed5=(EditText) findViewById(R.id.editText5);
    ed6=(EditText) findViewById(R.id.editText6);

    //added the code here after ed1,ed2,ed3,ed4,ed5,ed6 is assigned
    if(!ed1.getText().toString().equals(""))
    a1=Integer.parseInt(ed1.getText().toString());
    if(!ed2.getText().toString().equals(""))
    b2=Integer.parseInt(ed2.getText().toString());
    if(!ed3.getText().toString().equals(""))
    c3=Integer.parseInt(ed3.getText().toString());
    if(!ed4.getText().toString().equals(""))
    d4=Integer.parseInt(ed4.getText().toString());
    if(!ed5.getText().toString().equals(""))
    e5=Integer.parseInt(ed5.getText().toString());
    if(!ed6.getText().toString().equals(""))
    f6=Integer.parseInt(ed6.getText().toString());
    if(!ed7.getText().toString().equals(""))
    g7=Integer.parseInt(ed7.getText().toString());
    int total = a1 + b2 + c3 + d4 + e5 + f6;
public class ExpenseCalculator extends Activity {
EditText ed1,ed2,ed3,ed4,ed5,ed6,ed7;
Button btn1,btn2;
TextView tt1,tt2;

//initialize to zero
int a1,b2,c3,d4,e5,f6,g7,total = 0;

/* this code below already takes input from edit text during intialization of code hence it's probably null

int a1=Integer.parseInt(ed1.getText().toString());
int b2=Integer.parseInt(ed2.getText().toString());
int c3=Integer.parseInt(ed3.getText().toString());
int d4=Integer.parseInt(ed4.getText().toString());
int e5=Integer.parseInt(ed5.getText().toString());
int f6=Integer.parseInt(ed6.getText().toString());
int g7=Integer.parseInt(ed7.getText().toString());
int total = a1 + b2 + c3 + d4 + e5 + f6;
*/

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_expense_calculator);
    ed1=(EditText) findViewById(R.id.editText1);
    ed2=(EditText) findViewById(R.id.editText2);
    ed3=(EditText) findViewById(R.id.editText3);
    ed4=(EditText) findViewById(R.id.editText4);
    ed5=(EditText) findViewById(R.id.editText5);
    ed6=(EditText) findViewById(R.id.editText6);
    ed7=(EditText) findViewById(R.id.editText7);
    btn1=(Button) findViewById(R.id.button1);
    btn2=(Button) findViewById(R.id.button2);
    tt1=(TextView) findViewById(R.id.textView7);
    tt2=(TextView) findViewById(R.id.TextView01);

    btn1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            tt1.setText(Integer.toString(total));

        }
    });
    btn2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
          //getting the input only when button clicked
          a1=Integer.parseInt(ed1.getText().toString());
          b2=Integer.parseInt(ed2.getText().toString());
          c3=Integer.parseInt(ed3.getText().toString());
          d4=Integer.parseInt(ed4.getText().toString());
          e5=Integer.parseInt(ed5.getText().toString());
          f6=Integer.parseInt(ed6.getText().toString());
          g7=Integer.parseInt(ed7.getText().toString());
          total = a1 + b2 + c3 + d4 + e5 + f6;

        if(g7>total)
            tt2.setText("Go for it !!");
        else
            tt2.setText("Out of budget :(");

        }
    });
}