0

logcat:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.Decra/com.Decra.DecRaActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)

コード:

    TextView dectv=(TextView)findViewById(R.id.dec);
    TextView ratv=(TextView)findViewById(R.id.ra);
    TextView result=(TextView)findViewById(R.id.result);
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btn=new Button(this);
        btn.setOnClickListener(this);
    }

アプリケーションを起動すると、次のエラーで強制終了します。

the application DecRa (process com.Decra) has stopped unexpectedly.Please try again.

また、コンパイラにはエラーがないため、実行時エラーである必要があります。しかし、エラーの意味がわかりません。そして私が理解したのは、エラーの1つがを参照しているということfindViewByIdです。

4

1 に答える 1

1

事前に電話をかけないと電話できませんfindViewById()setContentView()次のように、TextView初期化行をonCreate()メソッドに移動するだけです。

TextView dectv;
TextView ratv;
TextView result;

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        dectv=(TextView)findViewById(R.id.dec);
        ratv=(TextView)findViewById(R.id.ra);
        result=(TextView)findViewById(R.id.result);

        ...
        ...
    }
于 2012-05-30T15:11:55.560 に答える