2012-08-04 65 views
0

我創建了一個新的活動,將它添加到我的清單文件中,並從另一個完整功能的活動複製和粘貼代碼,但是當我點擊它們時,我的按鈕不起作用。這裏是我的活動:onClickListener不工作,從其他工作活動複製

import java.util.Calendar; 

import android.app.Activity; 
import android.app.DatePickerDialog; 
import android.app.Dialog; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.DatePicker; 
import android.widget.TextView;  

public class test extends Activity { 

private Button btnChangeDate; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.salesticketoilui); 
    mainProgram(); 
    } 

public void mainProgram() { 
    btnChangeDate = (Button) findViewById(R.id.btnChangeDate); 
    btnChangeDate.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      showDialog(DATE_DIALOG_ID); 
     } // end onClick 
    }); // end setOnClickListener 

    Button buttonExit = (Button)findViewById(R.id.buttonExit); 
    buttonExit.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      exitActivity();   
     } // end onClick 
    }); // end OnClickListener 

    // setup button listener for saving data and exit to main 
    Button buttonSaveExit = (Button) findViewById(R.id.buttonSaveExit); 
    buttonSaveExit.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      saveExit(); 
     } // end onClick 
    }); // end OnClickListener 

} // end MainProgram() 

    public void saveExit() { 
     // does stuff 
    } 

    public void exitActivity() { 
     // does stuff 
    } 

} // end class 

有什麼想法?

回答

0

根據您所顯示的代碼,它不會出現你曾經調用方法mainProgram讓你點擊聽衆永遠不會真正得到建立。請撥打電子郵件mainProgram來自onCreate或直接將該代碼直接放入onCreate

+0

對不起,我不小心留下了出來複製和粘貼的問題是應對代碼到的onCreate按鈕開始工作後更新 – deerkiller11 2012-08-04 02:45:37

+0

。我不明白爲什麼,因爲它在其他活動中工作正常。想法? – deerkiller11 2012-08-04 03:48:02

+0

嗯,沒有,你應該能夠調用從的onCreate其他方法沒有問題 – 2012-08-04 17:34:18

0

相信onClickListeners需要去您的onCreate方法裏面。

+0

在活動中,我複製它從它與它在MainProgram(主程序)()方法的正常工作 – deerkiller11 2012-08-04 02:48:58

+0

是你調用'MainProgram(主程序)()'方法在其他活動?又名:是否觸發了mainProgram()? – EGHDK 2012-08-04 03:34:52

+0

的MainProgram(主程序)()方法從OnCreate中 – deerkiller11 2012-08-04 03:43:03

0

聽斯科特

,看起來像你缺少@Override

new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     exitActivity();   
    } // end onClick 
} 

確保您的Java設置到1.6,以避免代碼完成缺少此。

+0

稱爲在這我複製它從它沒有「@覆蓋」 – deerkiller11 2012-08-04 02:47:58

+1

'@ Override'能夠正常工作的活動實現一個接口(其還包括創建一個匿名類時是沒有必要從一個)。 – Eric 2012-08-04 02:55:10

0

我有同樣的問題,從一類ImageButtons複製OnClickListener到另一個類,並與批量複製/粘貼,然後重命名。 爲了使它工作,我必須在佈局中創建新按鈕並手動聲明事件。奇怪的!

相關問題