2011-01-26 3 views
0

私はこのコードを書くと、エラーを取得しています:申し訳ありません!アプリケーションAndroid_Name(プロセスcom.pckge)が予期せず停止しました。もう一度お試しください。強制終了?

"Sorry! The Application Android_Name(process com.pckge) has stopped unexpectedly. Please try again. Force Close"

間違いは何?

package com.pckge; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import java.util.Date; 

public class Now extends Activity implements View.OnClickListener { 
    Button btn; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     btn.setOnClickListener(this); 
      updateTime(); 
     setContentView(btn); 
    } 

    @Override 
    public void onClick(View view) { 
     updateTime(); 
     // TODO Auto-generated method stub 

    } 

    private void updateTime() { 
     btn.setText(new Date().toString()); 
     // TODO Auto-generated method stub 

    } 
} 
+1

エラーログを確認してください(エクリプスのデバッグ中)どのようなエラーが表示され、ここに貼り付けられますか – Nanne

答えて

6

あなたのライン

btn.setOnClickListener(this); 

'BTN' がまだ初期化されていないときに呼び出されます。それはNULLなので、あなたはそのメンバーに電話することはできません。最初に実際のボタンを割り当てます。

Button btn;のみのタイプを設定していることに注意してください)私はそれに同意するよう

は以下のコメントから@jemsを引用: 右super.onCreate後行btn = new Button(this)を追加すると、問題を修正する必要がありますが、それはあるかもしれません代わりにxmlでレイアウトを定義する方が良い

+2

これは正しいです。 super.onCreateの直後にbtn = new Button(this)という行を追加すると問題は解決するはずですが、代わりにxmlでレイアウトを定義する方が良いかもしれません。 – Jems

2

ボタンを初期化する必要があります。 あなたはXMLでボタンを作成し、android:name = "buttonID"を設定したと仮定します。

ボタンbtn; btn = findViewById(R.id.buttonID);

関連する問題