Android按钮:添加Click事件时总是出错

时间:2012-03-04 17:13:35

标签: android button nullpointerexception mouseclick-event

我从布局创建一个按钮,它工作正常(我测试时在屏幕上显示)。当我为此Button添加点击事件时,我总是收到NullPointerException(您可以在下面的代码中看到):

   Button b1;
   int REQUEST_CODE =1;

   @Override
   public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

        b1 = (Button) findViewById(R.id.web_button);        
        b1.setOnClickListener(new OnClickListener() { //ERROR THIS LINE

            public void onClick(View arg0){}
        }); 
        setContentView(R.layout.intent);
   }

2 个答案:

答案 0 :(得分:3)

在使用setContentView之前,您应先findViewById - 否则它不知道在哪里搜索按钮。

使用此订单:

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);

        setContentView(R.layout.intent);

        b1 = (Button) findViewById(R.id.web_button);        
        b1.setOnClickListener(new OnClickListener() { //ERROR THIS LINE
            public void onClick(View arg0){
            }
        }); 
    }

答案 1 :(得分:2)

在设置内容视图之前,您正在搜索Button。你必须这样做:

 @Override
        public void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);

            setContentView(R.layout.intent);
            b1 = (Button) findViewById(R.id.web_button);        
            b1.setOnClickListener(new OnClickListener() { //ERROR THIS LINE
                public void onClick(View arg0){
                }
            }); 


        }