2016-10-17 28 views
0

單擊模擬器上的總和按鈕後,應用程序已停止。
但是,當我第一次寫代碼並運行它。根本沒有問題!按鈕單擊後計算器已停止

Java代碼:

package com.mateors.add; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

public void onButtonClick (View v) { 

    EditText e1 = (EditText)findViewById(R.id.editText); 
    EditText e2 = (EditText)findViewById(R.id.editText2); 
    TextView t1 = (TextView)findViewById(R.id.textView); 
    int num1 = Integer.parseInt(e1.getText().toString()); 
    int num2 = Integer.parseInt(e2.getText().toString()); 
    int sum = num1 + num2; 
    t1.setText(Integer.toString(sum)); 

} 
} 

XML代碼:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_main" 
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.mateors.calculator.MainActivity"> 

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:inputType="number" 
    android:ems="10" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginLeft="18dp" 
    android:layout_marginStart="18dp" 
    android:layout_marginTop="100dp" 
    android:id="@+id/editText" 
    android:hint="Number 1" /> 

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:inputType="number" 
    android:ems="10" 
    android:layout_below="@+id/editText" 
    android:layout_alignLeft="@+id/editText" 
    android:layout_alignStart="@+id/editText" 
    android:layout_marginTop="48dp" 
    android:id="@+id/editText2" 
    android:hint="Number 2" /> 

<Button 
    android:text="SUM" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/editText2" 
    android:layout_alignLeft="@+id/editText2" 
    android:layout_alignStart="@+id/editText2" 
    android:layout_marginTop="31dp" 
    android:id="@+id/button" 
    android:layout_alignRight="@+id/editText2" 
    android:layout_alignEnd="@+id/editText2" 
    android:onClick="onButtonClick (MainActivity)" /> 

<TextView 
    android:text="Result" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/textView" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:textSize="20dp" 
    /> 

+3

請提供一些錯誤日誌 – Alex

+1

請問你在哪裏學的?我前幾天看到了完全相同的問題。 XML –

+0

的'onClick'中不能有空格或符號。「應用程序已停止」不是錯誤消息。以下是你如何得到錯誤信息。 http://stackoverflow.com/questions/23353173/uncomfort-myapp-has-stopped-how-can-i-solve-this –

回答

0

首先是改變這種XML的按鈕。

android:onClick="onButtonClick (MainActivity)" 

這個

android:onClick="onButtonClick" 

所以最後你Button是這樣顯示

<Button 
    android:text="SUM" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/editText2" 
    android:layout_alignLeft="@+id/editText2" 
    android:layout_alignStart="@+id/editText2" 
    android:layout_marginTop="31dp" 
    android:id="@+id/button" 
    android:layout_alignRight="@+id/editText2" 
    android:layout_alignEnd="@+id/editText2" 
    android:onClick="onButtonClick" />