我正在尝试在我的项目中实现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。
我做错了什么? 我很感谢帮助实现这个库
非常感谢和问候。
答案 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);
.
.
}