无法扩展OnClickListener - 有什么替代方案?

时间:2013-10-21 09:42:32

标签: java android

我对Android很新。在我的活动中,当我需要检测按钮时,我实现了OnClickListener。在我当前的Activity中,我必须实现'YouTubePlayer.OnInitializedListener',因此我无法扩展OnClickListener。如何检测点击事件?

4 个答案:

答案 0 :(得分:6)

实际上View.OnClickListenerinterface。你必须implements,而不是extend。 Java不支持从多个类扩展,但您可以实现多个接口

答案 1 :(得分:2)

public class MyActivity extends Activity implements OnClickListener, YouTubePlayer.OnInitializedListener
{
   //Your code here

    button = (Button) findViewById(R.id.btn);
    button.setOnClickListener(this);


    @Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    if(v.equals(button))
    {

    }
}

答案 2 :(得分:2)

试试此代码

 public void addListenerOnButton() {
        button = (Button) findViewById(R.id.button_id_in_xml);
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {

            //Do your stuffs   

            }
        });
    }

答案 3 :(得分:2)

正如其他人所说,OnClickListener是一个界面,所以你必须实现它,而不是扩展。但如果您仍在寻找替代方案,请尝试将其用作匿名内部类:

button.setOnClickListener(new OnClickListener()
{
     public void onClick(View v)
     {
          //do stuff when clicked
     }
}
)