Ошибка приложения Force Android Закрыть

1

Я написал следующий код и скомпилировал его, но когда я запустил приложение, я получил ошибку android, приложение неожиданно остановило принудительное закрытие 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;
}
}
  • 0
    вы не инициализировали счетчик, но вы делаете счетчик ++ / -, который не определен.
  • 1
    разве int в java по умолчанию не установлен в 0 ?
Показать ещё 1 комментарий
Теги:

2 ответа

6
Лучший ответ

Display - это TextView, вы не можете наложить его на кнопку.

display= (Button) findViewById(R.id.tvButton);
  • 0
    Большое спасибо. Моя вина
  • 0
    Почему нам не нужно инициализировать кнопку и текстовые объекты? Есть инициализированы в NULL в соответствии с Java, если они не инициализированы явно?
Показать ещё 5 комментариев
0

2. Вы объявили display как TextView, но инициализировали как Button, это исключение каста.

display= (Button) findViewById(R.id.tvButton); ///// Неправильно.

Должно быть.

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

1. Сделайте объявление представлений как переменные экземпляра перед методом onCreate(), а затем инициализируйте их в onCreate().

Ещё вопросы

Сообщество Overcoder
Наверх
Меню