Android实现了ObservableScrollView库

时间:2015-03-18 20:07:26

标签: android android-listview android-library android-toolbar

我正在尝试在我的项目中实现ObservableScrollView库。 我的代码组织如下:

  • 工具栏是主要活动

  • ObservableListView(ListView是类型)在片段中

我按照文档,搜索了示例,但我无法正确实现它。

Tengo varios problemas,el primero es que al estar en un fragment,no puedo implementarestalínea:

listView.setScrollViewCallbacks(this)

getActivity而不是“this”无效,我也尝试过:

Activity parentActivity = getActivity();
listEntriesWeb.setScrollViewCallbacks((ObservableScrollViewCallbacks) parentActivity);

这确实在代码中得到了验证,但是在运行时我遇到了崩溃。

另一个问题是我已经获得了显示或隐藏文档工具栏的方法:

public void onUpOrCancelMotionEvent(ScrollState scrollState) {

        if (scrollState == ScrollState.UP) {
            if (((ActionBarActivity) getActivity()).getSupportActionBar().isShowing()) {
                ((ActionBarActivity) getActivity()).getSupportActionBar().hide();
            }
        } else if (scrollState == ScrollState.DOWN) {
            if (!((ActionBarActivity) getActivity()).getSupportActionBar().isShowing()) {
                ((ActionBarActivity) getActivity()).getSupportActionBar().show();
            }
        }
    }

但不知道你是如何运行这种方法的。

 onUpOrCancelMotionEvent(ScrollState.DOWN); or  onUpOrCancelMotionEvent(ScrollState.UP);

......但是从哪里使用它?通常的setOnScrollListener不能与我一起使用ObservableListView。

我做错了什么? 我很感谢帮助实现这个库

非常感谢和问候。

2 个答案:

答案 0 :(得分:0)

关于你的第一个问题,Fragment必须实现ObservableScrollViewCallbacks。

public class ListViewFragment implements ObservableScrollViewCallbacks {
    ...
    listView.setScrollViewCallbacks(this)
    ...
}

然后将其传递给setScrollViewCallbacks将无需传递活动(或者您可以传递活动,但活动必须实现所述回调)。

一旦你实现了回调,我想也应该调用onUpOrCancelMotionEvent。

答案 1 :(得分:0)

解决此问题您必须为活动类实现ObesevableScrollViewCallbacks接口

public class ListActivity extends AppCompatActivity implements ObservableScrollViewCallbacks {
    .
    .
    oScrollView = (ObservableScrollView) findViewById(R.id.oScrollView );
    oScrollView .setScrollViewCallbacks(this);
    .
    .
}