不幸的是,该应用已停止工作

时间:2015-06-16 23:02:58

标签: java android

请告诉我为什么我的应用程序无法运行我已经制作了一个咖啡计算器应用程序。这是xml代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:text="@string/disp"
        android:textColor="@android:color/black"
        android:textSize="20sp"
        android:textStyle="bold" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/add"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:onClick="Add"
            android:text="@string/add"
            android:textColor="@android:color/black"
            android:textSize="30sp"
            android:textStyle="bold"
            android:background="#E57373" />

        <TextView
            android:id="@+id/sum"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:text="@string/text"
            android:textColor="@android:color/black"
            android:textSize="20sp"
            android:textStyle="bold" />

        <Button
            android:id="@+id/sub"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:onClick="Sub"
            android:text="@string/sub"
            android:textColor="@android:color/black"
            android:textSize="30sp"
            android:textStyle="bold"
            android:background="#E57373" />
    </LinearLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:text="@string/price"
        android:textColor="@android:color/black"
        android:textSize="20sp"
        android:textStyle="bold" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:text="@string/total"
            android:textColor="@android:color/black"
            android:textSize="20sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/res"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:text="@string/res"
            android:textColor="@android:color/black"
            android:textSize="20sp"
            android:textStyle="bold" />
    </LinearLayout>

    <Button
        android:id="@+id/order"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="210sp"
        android:onClick="Order"
        android:text="@string/order"
        android:textColor="@android:color/black"
        android:textSize="20sp"
        android:textStyle="bold" 
        android:textAllCaps="true"
        android:background="#E57373"/>

</LinearLayout>

这是我的Java代码

package com.example.extra;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends Activity {

    public int num=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @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);
    }

    public void Add(View view){
        //On click method for Add button
        TextView text=(TextView)findViewById(R.id.sum);
        num=num+1;
        text.setText(num);
    }

    public void Sub(View view){
        //On click method for Sub button
        TextView text=(TextView)findViewById(R.id.sum);
        if(num==0)
            text.setText(0);
        else
        {   num=num-1;
            text.setText(num);
        }   
    }

    public void Order(View view){
        //On click method for button ORDER
        TextView text=(TextView)findViewById(R.id.res);
        text.setText("$" + num*10);
    }

}

当我启动应用程序并单击添加按钮或子按钮时,应用程序崩溃。但是ORDER按钮工作正常。请帮助......

1 个答案:

答案 0 :(得分:1)

你的应用程序崩溃的原因是你放入TextViews的int。 setText()采用字符串变量或指定资源ID的int。在这种情况下,int没有指定资源ID,因此它失败了。将setText()Sub中的Add更改为:

text.setText("" + num);