我收到错误"抱歉!应用程序Android_Name(进程com.pckge)已意外停止.请再试一次." 强制关闭?

Vee*_*eer 0 eclipse android

我正在编写此代码并收到错误:

"抱歉!应用程序Android_Name(进程com.pckge)意外停止.请再试一次.强制关闭"

怎么了?

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

    }
}
Run Code Online (Sandbox Code Playgroud)

Nan*_*nne 6

你的路线

btn.setOnClickListener(this);
Run Code Online (Sandbox Code Playgroud)

当'btn'尚未初始化时调用.它是NULL,所以你不能调用它的成员.首先为它分配一个真正的按钮.

(请注意, Button btn;只设置类型)

在下面的评论中引用@jems,因为我同意它:btn = new Button(this)在super.onCreate之后添加行应该解决问题,但是在xml中定义你的布局可能更好

  • 这是对的.在super.onCreate之后添加行btn = new Button(this)应该可以解决问题,但是最好在xml中定义你的布局. (2认同)