在自定义视图上实现OnClickListener方法

时间:2014-02-28 15:15:41

标签: android view onclicklistener

我遇到动态视图创建和OnClickListener的问题。当我点击它时,我希望我的动态视图能够做到。为此,我实现了OnClickListener:

import android.view.View.OnClickListener;

public abstract class ChordDiagram extends View implements OnClickListener {

...

@Override
public void onClick(View v) {       
//it's gonna be implemented by its sons
}
}

然后,我有另一个班:

public class KeyboardChordDiagram extends ChordDiagram {

...

@Override
    public void onClick(View v) {               
        Toast.makeText(v.getContext(), "Here's gonna do something :)", Toast.LENGTH_LONG).show();
    }
}   

我对Android有点新手,我怀疑它与上下文有关,但我真的不知道它是什么。 我还尝试在activity类上实现OnClickListener,并将my real事件设置为activity方法,但它也不起作用。

1 个答案:

答案 0 :(得分:1)

在班级的每个构造函数中添加该行:this.setOnClickListerner(this);

例如:

public abstract class ChordDiagram extends View implements OnClickListener
{
    public ChordDiagram(Context context)
    {
        super(context);

        this.setOnClickListerner(this);
    }

    @Override
    public void onClick(View v)
    {
        //it's gonna be implemented by its sons
    }
}