这似乎是一个基本问题,所以我确定这是我忽略的小问题。也许我只是看了太久。
我一直在尝试在视图中创建一个 onClick 侦听器,并且我有一个公共的 set 方法来设置侦听器。但是当我尝试在类之外调用该方法时,我收到一条错误消息,指出它无法解析该方法。
我已经尝试创建其他公共方法或公共成员变量,但由于某种原因我无法在类之外查看它们中的任何一个。
以下是一些相关片段:
PaintView:(我无法从中获取公共成员的类)
public class PaintView extends View {
public interface OnPaintClickedListener
{
public void onPaintClicked(int color);
}
private OnPaintClickedListener _onPaintClickedListener;
public void setOnPaintClickedListener(OnPaintClickedListener listener)
{
_onPaintClickedListener = listener;
}
...
}
PaletteView:(使用 PaintView 的类)
public class PaletteView extends ViewGroup {
....
public void addColor(Context context, int color)
{
View newPaintView = new PaintView(context, color);
//setOnPaintClickedListener gives the message "Cannot resolve method setOn...blah blah'
newPaintView.setOnPaintClickedListener(new PaintView.OnPaintClickedListener()
{
@Override
public void onPaintClicked(int color)
{
}
});
this.addView(newPaintView);
}
}
接口代码没问题,但它只能找到 setOnPaintClickedListener 方法。
在此先感谢,我有 97% 的把握,一旦有人指出我的错误,我就会觉得自己像个白痴。