简单的Android加减应用程序

简单的Android加减应用程序,android,android-emulator,Android,Android Emulator,我正在制作一个应用程序,当我们点击“添加”按钮时,它会给数字加1,当我们点击“减法”时,它会减去数字 我做的一切都是对的,但不知道为什么在Emulator中处理时会出现错误 下面是我的源代码: XML代码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orie

我正在制作一个应用程序,当我们点击“添加”按钮时,它会给数字加1,当我们点击“减法”时,它会减去数字

我做的一切都是对的,但不知道为什么在Emulator中处理时会出现错误

下面是我的源代码:

XML代码

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/total"
    android:id="@+id/tvDisplay"
    android:textSize="20dp"
    android:layout_gravity="center"
    android:layout_marginTop="30dp"
    android:layout_marginBottom="30dp"
    />
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/add"
    android:layout_gravity="center"
    android:textSize="20dp"
    android:id="@+id/bAdd"
    android:layout_marginTop="25dp"
    android:layout_marginBottom="2dp"
    />
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/sub"
    android:layout_gravity="center"
    android:textSize="20dp"
    android:id="@+id/bSub"
    android:layout_marginTop="25dp"
    android:layout_marginBottom="25dp"
    />

    </LinearLayout>
  package com.example.plus.minus;

  import android.os.Bundle;
  import android.app.Activity;
  import android.view.View;
  import android.widget.Button;
  import android.widget.TextView;

  public class PlusMinus extends Activity {

int counter;
Button add , sub;
TextView display; 

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    counter = 0;
    add = (Button) findViewById(R.id.bAdd);
    sub = (Button) findViewById(R.id.bSub);
    display = (Button) findViewById(R.id.tvDisplay);

    add.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Adds 1 to the counter
            counter = counter + 1;
            display.setText(" Your total is :" + counter);
        }
    });

    sub.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Subtract 1 from counter
            counter = counter - 1;
            display.setText(" Your total is :" + counter);
        }
    });
}
}
另外,请让我知道如何自己查找运行时错误。 以及如何自己调试错误。
提前感谢你,因为你的观点是错误的

改变

display = (Button) findViewById(R.id.tvDisplay);


因为你的观点是错误的

改变

display = (Button) findViewById(R.id.tvDisplay);

按钮

按钮

这是因为您要将您的
TextView
标识为
按钮
,因此,请尝试将您的
TextView
标识为如下所示

display = (TextView) findViewById(R.id.tvDisplay);
而不是

display = (Button) findViewById(R.id.tvDisplay);
这是因为您要将您的
TextView
标识为
按钮
,因此,请尝试将您的
TextView
标识为如下所示

display = (TextView) findViewById(R.id.tvDisplay);
而不是

display = (Button) findViewById(R.id.tvDisplay);

它应该是TextView而不是Button

它应该是TextView而不是Button

您必须转到DDMS->logcat并查找生成的运行时错误。只需更改此项:
display=(TextView)findViewById(R.id.tvDisplay)因为您确实将其强制转换为
按钮
,但XML定义了
文本视图
。您必须转到DDMS->logcat并查找生成的运行时错误。只需更改此项:
display=(TextView)findViewById(R.id.tvDisplay)按钮
,但XML定义了
TextView