1

次のコードを作成してコンパイルしましたが、アプリケーションを実行すると、エラーandroid the application has stopped unexpectedly force close eclipse が表示されます。これは、Button オブジェクトと TextView オブジェクトを初期化しなかったためだと思いましたが、初期化すると、トークン ";" が欠落しています。エラー。このエラーの理由は何ですか。

package com.umer.first.project;

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

public class StartingPoint extends Activity {

int counter;
TextView display;
Button add, sub;
//add= new Button(this);
//sub=new Button(this);
//display=new TextView();
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_starting_point);

    add= (Button) findViewById(R.id.aButton);
    sub = (Button) findViewById(R.id.sButton);
    display= (Button) findViewById(R.id.tvButton);

    add.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            counter++;
            display.setText("The total is " + counter);
        }
    });

    sub.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            // TODO Auto-generated method stub

            counter--;
            display.setText("You counter is " + counter);

        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_starting_point, menu);
    return true;
}
}
4

2 に答える 2

6

DisplayボタンにキャストすることはTextViewできません。

display= (Button) findViewById(R.id.tvButton);
于 2012-07-22T11:12:13.943 に答える
0

2. TextView として宣言し ましたが、として初期化しました。これは Casting Exceptionです。display Button

display= (Button) findViewById(R.id.tvButton); ///// 違う。

でなければなりません。

display= (TextView) findViewById(R.id.tvButton);

1. onCreate()メソッドの前にビューをインスタンス変数として宣言し、onCreate() で初期化します

于 2012-07-22T11:18:32.780 に答える