2012-01-11 256 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

什麼是logcat的錯誤? – JoxTraex 2012-01-11 12:44:14

回答

1

您正在爲同一變量分配一個新值兩次。

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

我想這應該是:

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

在你的代碼,sub.setOnClickListener拋出一個NullPointerException因爲sub爲空。

1

你們一份&粘貼錯誤,你永遠不會初始化sub

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

對於接下來的問題,請看看你的logcat和後堆棧跟蹤,因爲這可以幫助我們找到錯誤更容易。

1

您正在收到nullPointer異常,因爲您沒有初始化子變量。修改代碼:

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

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