【发布时间】:2017-01-04 12:27:25
【问题描述】:
我需要知道用户何时向上或向下滚动。我设法实现了这一点,但现在我无法将结果返回到我需要它的主类。具体来说,我不知道如何将结果传递给我创建的界面。
这是我得到的错误:
尝试调用接口方法'void com.app.android.interfaces.ScrollDirection.Down(int)' 空对象引用
这是我的自定义 ScrollView:
public class CustomScrollView extends ScrollView {
private ScrollDirection scrolldirection;
public CustomScrollView(Context context) {
super(context);
scrolldirection = (ScrollDirection) context;
}
public CustomScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onScrollChanged(int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
super.onScrollChanged(scrollX, scrollY, oldScrollX, oldScrollY);
if(scrollY<oldScrollY){
scrolldirection.Down(1);
}else{
scrolldirection.Down(-1);
}
}
public interface ScrollDirection{
public void Down(int direction);
}
}
【问题讨论】:
-
看来
scrolldirection还没有初始化。因此NullPointerException。将调试点放在您的构造函数中,玩得开心!