Java 不幸的是”;应用程序“名称”;他停止工作了

Java 不幸的是”;应用程序“名称”;他停止工作了,java,android,xml,Java,Android,Xml,我正在尝试开发一个非常简单的应用程序来计算房屋抵押贷款的总利息。有两个屏幕。第一个是让用户输入他们的每月付款、贷款年数和初始贷款金额。第一个屏幕加载得很好。但当点击按钮时,我发现旧的“不幸”应用程序已经停止工作。不知道是否有人可以解释为什么。下面是该屏幕的java代码: package com.example.mortgage; import android.support.v7.app.ActionBarActivity; import android.content.Intent; imp

我正在尝试开发一个非常简单的应用程序来计算房屋抵押贷款的总利息。有两个屏幕。第一个是让用户输入他们的每月付款、贷款年数和初始贷款金额。第一个屏幕加载得很好。但当点击按钮时,我发现旧的“不幸”应用程序已经停止工作。不知道是否有人可以解释为什么。下面是该屏幕的java代码:

package com.example.mortgage;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

package com.example.mortgage;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends ActionBarActivity {
    int enterPayment;
    int enterYears;
    int enterPrincipal;
    int totalInterest;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText payment=(EditText)findViewById(R.id.txtPayment);
        final EditText years=(EditText)findViewById(R.id.txtYear);
        final EditText principal=(EditText)findViewById(R.id.txtPrincipal);

        Button btCompute = (Button)findViewById(R.id.btnCompute);
        final SharedPreferences                 sharedPref=PreferenceManager.getDefaultSharedPreferences(this);
        btCompute.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                enterPayment =    Integer.parseInt(payment.getText().toString());
                enterYears = Integer.parseInt(years.getText().toString());
                enterPrincipal = Integer.parseInt(principal.getText().toString());

                SharedPreferences.Editor editor = sharedPref.edit();
                editor.putInt("key1", enterPayment);
                editor.putInt("key2", enterYears);
                editor.putInt("key3", enterPrincipal);
                editor.commit();
                startActivity(new Intent(MainActivity.this, Status.class));

            }
        });
    }

    @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);
    }
}
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.mortgage.MainActivity" >

<TextView
    android:id="@+id/txtTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp"
    android:text="@string/txtTitle"
    android:textSize="30sp" />

<EditText
    android:id="@+id/txtPayment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTitle"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="19dp"
    android:ems="10"
    android:inputType="number" 
    android:hint="@string/hint1" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/txtYear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtPayment"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="29dp"
    android:ems="10"
    android:inputType="number" 
    android:hint="@string/hint2" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/txtPrincipal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtYear"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="39dp"
    android:ems="10"
    android:inputType="number" 
    android:hint="@string/hint3" >

    <requestFocus />
</EditText>

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="177dp"
    android:src="@drawable/mortgage"
    android:contentDescription="@string/imgMortgage" />

<Button
    android:id="@+id/btnCompute"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="26dp"
    android:text="@string/btnCompute" />

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

<TextView
    android:id="@+id/txtTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp"
    android:text="@string/txtTitle" />

<TextView
    android:id="@+id/txtTotal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTitle"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="19dp"
    android:ems="10"
    android:hint="@string/hint4" />

<ImageView
    android:id="@+id/imgYearLoan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTitle"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="95dp"
    android:contentDescription="@string/imgYearLoan" />

</RelativeLayout>
以及该屏幕的XML文件:

package com.example.mortgage;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

package com.example.mortgage;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends ActionBarActivity {
    int enterPayment;
    int enterYears;
    int enterPrincipal;
    int totalInterest;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText payment=(EditText)findViewById(R.id.txtPayment);
        final EditText years=(EditText)findViewById(R.id.txtYear);
        final EditText principal=(EditText)findViewById(R.id.txtPrincipal);

        Button btCompute = (Button)findViewById(R.id.btnCompute);
        final SharedPreferences                 sharedPref=PreferenceManager.getDefaultSharedPreferences(this);
        btCompute.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                enterPayment =    Integer.parseInt(payment.getText().toString());
                enterYears = Integer.parseInt(years.getText().toString());
                enterPrincipal = Integer.parseInt(principal.getText().toString());

                SharedPreferences.Editor editor = sharedPref.edit();
                editor.putInt("key1", enterPayment);
                editor.putInt("key2", enterYears);
                editor.putInt("key3", enterPrincipal);
                editor.commit();
                startActivity(new Intent(MainActivity.this, Status.class));

            }
        });
    }

    @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);
    }
}
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.mortgage.MainActivity" >

<TextView
    android:id="@+id/txtTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp"
    android:text="@string/txtTitle"
    android:textSize="30sp" />

<EditText
    android:id="@+id/txtPayment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTitle"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="19dp"
    android:ems="10"
    android:inputType="number" 
    android:hint="@string/hint1" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/txtYear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtPayment"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="29dp"
    android:ems="10"
    android:inputType="number" 
    android:hint="@string/hint2" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/txtPrincipal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtYear"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="39dp"
    android:ems="10"
    android:inputType="number" 
    android:hint="@string/hint3" >

    <requestFocus />
</EditText>

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="177dp"
    android:src="@drawable/mortgage"
    android:contentDescription="@string/imgMortgage" />

<Button
    android:id="@+id/btnCompute"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="26dp"
    android:text="@string/btnCompute" />

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

<TextView
    android:id="@+id/txtTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp"
    android:text="@string/txtTitle" />

<TextView
    android:id="@+id/txtTotal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTitle"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="19dp"
    android:ems="10"
    android:hint="@string/hint4" />

<ImageView
    android:id="@+id/imgYearLoan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTitle"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="95dp"
    android:contentDescription="@string/imgYearLoan" />

</RelativeLayout>
以及该屏幕的XML:

package com.example.mortgage;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

package com.example.mortgage;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends ActionBarActivity {
    int enterPayment;
    int enterYears;
    int enterPrincipal;
    int totalInterest;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText payment=(EditText)findViewById(R.id.txtPayment);
        final EditText years=(EditText)findViewById(R.id.txtYear);
        final EditText principal=(EditText)findViewById(R.id.txtPrincipal);

        Button btCompute = (Button)findViewById(R.id.btnCompute);
        final SharedPreferences                 sharedPref=PreferenceManager.getDefaultSharedPreferences(this);
        btCompute.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                enterPayment =    Integer.parseInt(payment.getText().toString());
                enterYears = Integer.parseInt(years.getText().toString());
                enterPrincipal = Integer.parseInt(principal.getText().toString());

                SharedPreferences.Editor editor = sharedPref.edit();
                editor.putInt("key1", enterPayment);
                editor.putInt("key2", enterYears);
                editor.putInt("key3", enterPrincipal);
                editor.commit();
                startActivity(new Intent(MainActivity.this, Status.class));

            }
        });
    }

    @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);
    }
}
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.mortgage.MainActivity" >

<TextView
    android:id="@+id/txtTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp"
    android:text="@string/txtTitle"
    android:textSize="30sp" />

<EditText
    android:id="@+id/txtPayment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTitle"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="19dp"
    android:ems="10"
    android:inputType="number" 
    android:hint="@string/hint1" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/txtYear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtPayment"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="29dp"
    android:ems="10"
    android:inputType="number" 
    android:hint="@string/hint2" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/txtPrincipal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtYear"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="39dp"
    android:ems="10"
    android:inputType="number" 
    android:hint="@string/hint3" >

    <requestFocus />
</EditText>

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="177dp"
    android:src="@drawable/mortgage"
    android:contentDescription="@string/imgMortgage" />

<Button
    android:id="@+id/btnCompute"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="26dp"
    android:text="@string/btnCompute" />

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

<TextView
    android:id="@+id/txtTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp"
    android:text="@string/txtTitle" />

<TextView
    android:id="@+id/txtTotal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTitle"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="19dp"
    android:ems="10"
    android:hint="@string/hint4" />

<ImageView
    android:id="@+id/imgYearLoan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTitle"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="95dp"
    android:contentDescription="@string/imgYearLoan" />

</RelativeLayout>


错误日志只显示“未处理的事件循环eception”

您正在使用整数而不是字符串调用
setText()

result.setText(totalInterest);
因此,Android试图加载具有指定(无效)标识符的字符串资源。请执行以下操作:

result.setText("" + totalInterest);

张贴日志日志请张贴错误日志请注意,我甚至没有注意到。这似乎总是很愚蠢。我会看看结果如何,谢谢!