2012-12-26 95 views
1

我有一些問題,setOnClickListener在我簡單的Android應用程序。 我的情況:安卓:findViewById(R.id.btn_mAmperClear).setOnClickListener

我有4個按鈕 按鈕1(作品) 按鈕2(作品) 按鈕2(EEEEEEE ... RROR) 按鈕4(未連接還)

我主屏幕已將2個第一個按鈕與新活動連接起來(所有工作都很棒)。 問題在我創建第3個按鈕時開始。我有代碼:

findViewById(R.id.btn_mAmperClear).setOnClickListener(new OnClickListener(){ 
     @Override 
     public void onClick(View v){ 

     } 
    }); 

有了明確的類文件(沒有上面的代碼的Java文件)所有的偉大工程 - 我有沒有錯誤,之後我會添加上的代碼,我崩潰在我的應用程序:(

FATAL例外:主要 了java.lang.RuntimeException:無法啓動活動ComponentInfo {} package.Name.ActivityName顯示java.lang.NullPointerException

3的其他情形的偉大工程(上述工程的代碼)

誰能幫助。我?

回答

3

findViewById(R.id.btn_mAmperClear)呼叫將返回null。這意味着您實際上沒有在活動的layout.xml中使用該ID的視圖。

如果不是這樣,這是其中的一個「日蝕沒有正確建立我的項目,因爲它是太愚蠢瞭解的依存關係鏈,並沒有編譯一切它被認爲」錯誤。如果是這樣的話,只需在項目上做一個「乾淨的」並從頭開始重建它。

0

做,在這種方式..

private Button btn1; 
private Button btn2; 
private Button btn3; 
private Button btn4; 

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

    btn1=(Button)findViewById(R.id.btn_1); 
    btn2=(Button)findViewById(R.id.btn_2); 
    btn3=(Button)findViewById(R.id.btn_3); 
    btn4=(Button)findViewById(R.id.btn_4); 

    btn1.setOnClickListener(this); 
    btn2.setOnClickListener(this); 
    btn3.setOnClickListener(this); 
    btn4.setOnClickListener(this); 
    } 

public void onClick(View v) { 
    // TODO Auto-generated method stub 

    switch (v.getId()) { 

    case R.id.btn_1: 
        //do your stuff 
     break; 
    case R.id.btn_2: 
        //do your stuff 
     break; 
    case R.id.btn_3: 
        //do your stuff 
     break; 
    case R.id.btn_4: 
        //do your stuff 
     break; 
    } 
}