如何在非静态内部类中声明一个接口

时间:2017-12-24 02:17:31

标签: java android

我正在努力通过遵循此simple tutorial来改进Android回收站视图。我发现了一个java问题:如果我在非静态视图持有者内部声明一个接口,如下所示.. `

    public class DumbViewHolder extends RecyclerView.ViewHolder {
        ...
        ExcellentAdventureListener listener;

        public interface ExcellentAdventureListener{
            void onMapClicked(ExcellentAdventure item);
            void onTitleClicked(ExcellentAdventure item);
        }   
        ...

    }`

java给我以下错误:内部类无法进行静态声明。 为什么?我该如何解决?

1 个答案:

答案 0 :(得分:1)

为什么要将界面放在内部类中?它会在外面正常工作。

只需将接口保留为适配器中的变量,并检查传递给适配器的对象是否实现了接口方法,然后将该对象强制转换为接口。