onClickListener无法正常工作从另一个工作活动中复制

时间:2012-08-04 02:33:34

标签: android eclipse button 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 

有什么想法吗?

4 个答案:

答案 0 :(得分:0)

根据您显示的代码,您似乎没有调用方法mainProgram,因此您的点击侦听器永远不会实际设置。从mainProgram拨打onCreate或直接将该代码放入onCreate

答案 1 :(得分:0)

我认为onClickListeners需要进入onCreate方法。

答案 2 :(得分:0)

倾听斯科特

看起来像你错过了@Override

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

确保您的java设置为1.6以避免代码完成错过此项。

答案 3 :(得分:0)

我将使用ImageButtons的OnClickListener从一个类复制到另一个类时遇到了同样的问题,然后使用批量复制/粘贴重命名。 为了使它工作,我不得不在我的布局中创建新按钮并手动声明事件。怪异!