2012-01-11 18 views
0

eclipseで自分のコードを次のように記述すると、アプリケーションが予期せず停止したというエミュレータでエラーが発生しました。 sdkのインストールエラーはありません。ここに私のコードです。Androidアプリケーションが予期せず停止しました

public class startingPoint extends Activity { 
    /** Called when the activity is first created. */ 

    int counter1,counter2; 
    Button add; 
    Button sub; 
    TextView display; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     counter1=counter2 = 0; 
     add = (Button) findViewById(R.id.bAdd); 
     add = (Button) findViewById(R.id.bSub); 
     display = (TextView) findViewById(R.id.tvDisplay); 
     add.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View arg0) { 
       counter1=counter1+1; 
       display.setText("Your total is "+counter1); 

      } 
     }); 
     sub.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View arg0) { 
       counter2=counter2-1; 
       display.setText("Your total is "+counter2); 
      } 
     }); 
    } 
} 
+0

add = (Button) findViewById(R.id.bAdd); add = (Button) findViewById(R.id.bSub); 

:あなたのコードを修正? – JoxTraex

答えて

1

同じ変数に新しい値を2回割り当てます。

あなたのコードで
add = (Button) findViewById(R.id.bAdd); 
sub = (Button) findViewById(R.id.bSub); 

subがヌルであるため、sub.setOnClickListenerNullPointerExceptionをスロー:

add = (Button) findViewById(R.id.bAdd); 
add = (Button) findViewById(R.id.bSub); 

私はこれがあるべきだと思います。

1

は、あなたが次の問題についてsub

add = (Button) findViewById(R.id.bAdd); 
add = (Button) findViewById(R.id.bSub); // should be sub instead of add 

を初期化することはありません、コピー&ペースト誤差を持って、あなたのLogCatを見て、これは簡単にエラーを見つけ、私たちを助けるかもしれないとスタックトレースを投稿してください。

1

初期化されたサブ変数を使用していないため、nullPointer例外が発生しています。 logcatエラーが何であるかを

add = (Button) findViewById(R.id.bAdd); 
sub = (Button) findViewById(R.id.bSub); 
関連する問題