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

时间:2011-01-26 13:09:14

标签: android eclipse

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

  

“抱歉!申请表   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

    }
}

2 个答案:

答案 0 :(得分:6)

你的行

btn.setOnClickListener(this);
当'btn'尚未初始化时调用

。它是NULL,所以你不能调用它的成员。首先为它分配一个真实的按钮。

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

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

答案 1 :(得分:2)

您需要初始化按钮。 我假设你已经用XML创建了按钮并设置了android:name =“buttonID”。

按钮btn; btn = findViewById(R.id.buttonID);