2012-06-24 33 views
0

在下面的代碼段構建時,我將OnClickListener添加到按鈕時保持中斷狀態。Android setOnClickListener錯誤

package xxx.xxx.xxx; 

import android.app.Activity; 

import android.app.AlertDialog; 

import android.content.Intent; 

import android.os.Bundle; 

import android.view.View; 

import android.view.View.OnClickListener; 

import android.widget.AdapterView.OnItemLongClickListener; 

import android.widget.Button; 

import android.widget.EditText; 

import android.widget.ListView; 

public class TeaActivity extends Activity { 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    Button AddItem = (Button)findViewById(R.id.button1); 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 


    AddItem.setOnClickListener(AddButtonHandler); 
    } 
    View.OnClickListener AddButtonHandler = new View.OnClickListener() { 
     public void onClick(View v) { 
       // it was the first button 

     } 
    }; 

調試代碼時會中斷setOnClickListener()調用。不知道爲什麼

+1

你不應該在'setContentView'之前調用'findViewById'。 – adneal

回答

2

它改變這種

AddItem.setOnClickListener(new View.OnClickListener { 
    public void onClick(View v) { 
    TODO 
    } 
}); 
+0

但是如何讓AddButtonHandler觸發? – Orthmius

+0

我再次編輯我的帖子 –

+0

非常感謝......出於某種原因,我早先無法讓它工作。再次感謝 – Orthmius

3

由於aneal說,你可以不的setContentView之前調用findViewById,這樣做的原因是XML佈局尚未加載,所以findViewById將返回null。由於在空對象上調用setOnClickListener,您可能會遇到空指針異常。