当我在模拟器中启动安卓项目时,我"Unfortunately Myapp has stopped working"



我是android项目开发的初学者。我已经开始使用我在网上找到的教程开发一个基本的应用程序。我正在使用eclipse。运行我的项目时没有错误。我在模拟器上单击应用程序后立即收到此错误。以下是我使用的r d xml和java编码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
    android:id="@+id/tvDisplay"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="@string/result"
    android:textSize="30sp" />
<Button
    android:id="@+id/a"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="@string/add"
    android:textSize="20sp" />
<Button
    android:id="@+id/s"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="@string/sub"
    android:textSize="20sp" /></LinearLayout>

Java:

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

公共类MainActivity扩展Activity{

int count;
Button add,sub;
TextView disp;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.linear);
    count=0;
    add=(Button) findViewById(R.id.a);
    sub=(Button) findViewById(R.id.s);
    disp=(Button) findViewById(R.id.tvDisplay);
    add.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            count=count+1;
            disp.setText("Result is " + count);
        }
    });
    sub.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            count=count-1;
            disp.setText("Result is " + count);
        }
    });
}
}

请提出解决方案,然后我应该继续我的项目开发。

TextView disp;
disp=(Button) findViewById(R.id.tvDisplay);

您已将"disp"声明为TextView;但在代码中,您将其强制转换为Button。将演员阵容更改为TextView,如下所示:

disp=(TextView(findViewById(R.id.tvDisplay(;

最新更新