- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 FragmentPagerAdapter
创建它的子页面(它们是 ListFragments
),如下所示:
@Override
public Fragment getItem(int position) {
return FragmentChildPage.newInstance();
}
我给 ViewPager 的 OffscreenPageLimit
为 1。子 ListFragments
有一个自定义的 ScrollListener
。
我遇到的问题是自定义滚动监听器仅适用于当 ViewPager 滑过其 OffscreenPageLimit
时创建的子 ListFragments
,即子页面 > 2.
更令人困惑的是,如果我滚动几页然后返回到第一页,滚动监听器现在可以工作了。
这是怎么回事? ViewPager
似乎干扰了一些子页面 OnScrollListener
。
谢谢
最佳答案
试试这个。适合我!
public class ActivityTest extends SherlockFragmentActivity {
private ViewPager mViewPager;
private TestAdapter mAdapter;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
mViewPager = new ViewPager(this);
mViewPager.setId(android.R.id.button1);
setContentView(mViewPager);
mAdapter = new TestAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mAdapter);
}
private class TestAdapter extends FragmentPagerAdapter {
public TestAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return TestListFragment.newInstance(position);
}
@Override
public int getCount() {
return 10;
}
}
private static class TestListFragment extends SherlockListFragment {
private static final String TAG = TestListFragment.class.getSimpleName();
private String[] mItems = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9","0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
private int mPos;
@SuppressLint("ValidFragment")
public static TestListFragment newInstance(int pos) {
TestListFragment frag = new TestListFragment();
Bundle b = new Bundle();
b.putInt("pos", pos);
frag.setArguments(b);
return frag;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPos = getArguments().getInt("pos");
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getSherlockActivity(), android.R.layout.simple_list_item_1, mItems));
getListView().setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
Log.d(TAG, "onScroll() - Fragment: " + mPos);
}
});
}
}
}
关于android - ListView OnScrollListener 不会在 ViewPager 中被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15255604/
我在 拉动刷新布局 中有一个 recyclerView。我添加了一个 onScrollListener,通过将 delta Y (dy) 添加/减去一个名为 totalScrolled 的变量来跟踪总
我有一个问题。我的 onScrollListener 不起作用,而 onScrollListener 之后的 onItemClickListener 工作正常。这是我的代码: public View
向相反方向滚动不起作用。 我明白我错了只是通过Presenter重新更新View中的数据,并且必须它们都可用RecyclerView 当加载下一部分数据时,RecyclerView没有时间显示最后一个
学习如何使用 OnScrollListener 并且我想做一个方法来检测每次当用户在 ListView 中向上或向下滚动时新的列表项是可见的,如果用户向下滚动我想做一个计数器增量1 对于进入屏幕的每个
我有chrisbanes PullToRefresh lib在我的项目中工作。现在我需要拦截滚动事件来添加一些逻辑,似乎库准备设置onScrollListener,我尝试添加一个 myList.set
我有 gridview,我需要做两件事: 当我向下滚动时,我想找到最后一个可见位置,例如 int index = GridView.getLastVisiblePosition(); 当我向上滚动时,
我在 json 中有大约 32 条记录,我正在使用 RecyclerView 来显示它们并且我已经实现了 OnScrollListener(...) 问题 我启动了一个 Activity ,我获取了所
似乎有很多关于如何向上滚动以获得更多帖子的帖子,我之前已经发布了一个问题:Adding items to Endless Scroll RecyclerView with ProgressBar at
我已经使用 LazyAdapter 创建了一个 ListView 。 当我滚动到列表底部时,新数据会出现,但它会清除所有旧数据。 如何将新数据附加到旧数据下方? 这是我的主要 Activity 代码
请原谅我的英语,我是法国人...... 那么,我有一个关于我的 Android 应用程序的问题。我必须将 GridView 集成为 Pinterest 样式。我找到了这个库:交错 GridView (
我需要 2 个 listView 的同步滚动(垂直和水平) 我尝试了几个用于水平 ListView 的库,但没有库实现 OnScrollListener() https://github.com/Me
我在 ListFragment 中实现了 OnScrollListener 接口(interface),我想在列表的最后一个元素可见时更改文本,但它不起作用。我没有找到类似问题的示例(ListFrag
我从服务器获得 500 条记录..我想在 ListView 中显示 10 个项目,当 ListView 结束时我需要加载另外 10 个,依此类推..我在网上看到很多例子,但我无法解决请帮助我。 这是我
我想在我的应用程序中创建一个无限滚动的 RecyclerView。它使用 Web 服务并在屏幕上显示一些 CardView 项目。这是我到目前为止的简化代码,没有包含 RecyclerView 创建等
我为 RecyclerView 实现了一个 OnScrollListener,如下所示: new RecyclerView.OnScrollListener() { @Override
我在函数中加载 RecyclerView 和 ScrollListener 这是在其中设置 ScrollListener 的代码(我删除了该问题不必要的所有内容): recyclerViewM
根据以下文档https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnScrollListene
我见过一些使用 OnScrollListener 的 ListView 动态增长实现。 我想知道,有没有更优雅的解决方案?如果 Adapter 说有更多项目可用,ListView 本身不会从 Adap
我有一个 FragmentPagerAdapter 创建它的子页面(它们是 ListFragments),如下所示: @Override public Fragment getItem(int pos
我有一个带有 OnScrollListener 和 OnItemClickListener 的 ListView。当我点击一个项目时,OnScrollListener 和 OnItemClickLis
我是一名优秀的程序员,十分优秀!