请告诉我为什么我的应用程序无法运行我已经制作了一个咖啡计算器应用程序。这是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按钮工作正常。请帮助......
答案 0 :(得分:1)
你的应用程序崩溃的原因是你放入TextViews的int。 setText()
采用字符串变量或指定资源ID的int。在这种情况下,int没有指定资源ID,因此它失败了。将setText()
和Sub
中的Add
更改为:
text.setText("" + num);