当我在模拟器中启动android项目时,我得到“不幸的是Myapp已停止工作”

时间:2013-01-15 18:18:37

标签: android xml

我是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>

爪哇:

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

请提出解决方案,之后我应该继续进行项目开发。

1 个答案:

答案 0 :(得分:1)

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

您已将'disp'声明为TextView; 但是在代码中你将它转换为Button。将强制转换更改为TextView,如下所示:

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