0

我创建了一个新活动,将其添加到我的清单文件中,并从另一个功能齐全的活动中复制和粘贴代码,但是当我单击它们时,我的按钮不起作用。这是我的活动:

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

4 回答 4

0

根据您显示的代码,您似乎从未调用过该方法mainProgram,因此您的点击侦听器永远不会真正得到设置。mainProgram从调用onCreate或直接将该代码放入onCreate.

于 2012-08-04T02:38:50.543 回答
0

我相信有onClickListeners必要深入你的onCreate方法。

于 2012-08-04T02:38:53.047 回答
0

听斯科特

看起来你错过了@Override

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

确保您的 java 设置为 1.6,以避免代码完成丢失。

于 2012-08-04T02:45:33.987 回答
0

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

于 2014-05-03T07:07:59.153 回答