如何获取调用哪个侦听器方法的按钮

时间:2014-03-14 18:34:38

标签: java android

当我有:

OnClickListener listener = new OnClickListener() {

            @Override
            public void onClick(View v) {
                //getSource button here --->actionButton

            }
        }
button1.setOnClickListener(listener);

如何获取在onClick方法中点击的按钮?

4 个答案:

答案 0 :(得分:2)

请参阅onClick方法上的v参数,该参数代表点击的视图。

然后,您可以使用v.getId()查看已点击的视图。

@Override
public void onClick(View v) {
    if(v.getId() == R.id.button1){
        //button1 clicked
    }
}

答案 1 :(得分:1)

得到id

@Override
public void onClick(View v) {
   //getSource button here --->actionButton
   if (v.getId() == R.id.someId)
      // do some stuff
}

在这种情况下,vButton点击,因此您可以获得id View的{​​{1}}并使用{{进行比较1}}或将其放在Button语句中。

答案 2 :(得分:1)

您可以使用Button方法获取已按getId()的ID。

OnClickListener listener = new OnClickListener() {

        @Override
        public void onClick(View v) {

            Button button = (Button) findViewById(v.getId());
            Toast.makeText(this, button.getText().toString()+" button is pressed", Toast.LENGTH_SHORT).show();

        }
    }

答案 3 :(得分:0)

在xml文件中,使用android:onClick="onClick"view.getId()将获得单击它的按钮的id,并使用switch case语句为每个按钮执行相关的作业。代码如下所示:

public void onClick(View view) { switch (view.getId()) { case R.id.button1: //Do something for this button break; case R.id.buttton2: //DO something for this button break; }