获取触发事件的按钮

时间:2011-11-14 03:23:32

标签: java android events

每周在学校我们每个星期都在不同的平台(wp7,javascript,iphone,android)上制作一个计算器,今天它是android,所以我有一个接收所有击键的方法,并取决于它的价值key我的类做了什么来获取c#中按钮的值是sender参数,在javascript这个,在android?

private OnClickListener leclicke= new OnClickListener() {

    public void onClick(View v) {
    //get the id of the button that fired the click event
    //findViewById(R.id.???);
    } };
谢谢。

3 个答案:

答案 0 :(得分:2)

private OnClickListener leclicke= new OnClickListener() {

    public void onClick(View v) {
    //get the id of the button that fired the click event
     int id = v.getId();
    } };

然后你必须使用这个

检查这个视图是否有id
if(id == View.NO_ID){
//this view does not have an id 
}
else{
//the view has an id 
}

答案 1 :(得分:1)

调用方法getId()

v.getId();

答案 2 :(得分:0)

如果要对所有按钮使用相同的OnClickListener,则可以执行以下操作:

Button b1 = (Button)findViewById(R.id.button1);
Button b1 = (Button)findViewById(R.id.button2);

private OnClickListener leclicke= new OnClickListener() {

    public void onClick(View v) {

       if(v.equals(b1)) {
         // handle button 1
       } else if(v.equals(b2)) {
         // handle button 2
       } // etc.
    } };

但这有点笨重。您可以做的另一件事是为每个方法指定一个单独的on click方法,方法是在UI Designer中为按钮设置on click属性,然后在Activity中声明该方法,例如: public onClickButton1(View v);