当前位置: 首页>>代码示例>>Java>>正文


Java RecyclerView.postDelayed方法代码示例

本文整理汇总了Java中android.support.v7.widget.RecyclerView.postDelayed方法的典型用法代码示例。如果您正苦于以下问题:Java RecyclerView.postDelayed方法的具体用法?Java RecyclerView.postDelayed怎么用?Java RecyclerView.postDelayed使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.support.v7.widget.RecyclerView的用法示例。


在下文中一共展示了RecyclerView.postDelayed方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: initRecyclerWithIndicator

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
private void initRecyclerWithIndicator(int recyclerViewId, int indicatorViewId, final int itemCount, int delay) {
	RecyclerView                 recyclerView           = findViewById(recyclerViewId);
	final OverflowPagerIndicator overflowPagerIndicator = findViewById(indicatorViewId);
	final Adapter                adapter                = new Adapter();

	recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
	recyclerView.setAdapter(adapter);

	overflowPagerIndicator.attachToRecyclerView(recyclerView);

	new SimpleSnapHelper(overflowPagerIndicator).attachToRecyclerView(recyclerView);

	recyclerView.postDelayed(new Runnable() {
		@Override
		public void run() {
			adapter.updateItemCount(itemCount);
		}
	}, delay);
}
 
开发者ID:intik,项目名称:overflow-pager-indicator,代码行数:20,代码来源:MainActivity.java

示例2: disableLoadMoreIfNotFullPage

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * check if full page after {@link #setNewData(List)}, if full, it will enable load more again.
 * <p>
 * 不是配置项!!
 * <p>
 * 这个方法是用来检查是否满一屏的,所以只推荐在 {@link #setNewData(List)} 之后使用
 * 原理很简单,先关闭 load more,检查完了再决定是否开启
 * <p>
 * 不是配置项!!
 *
 * @param recyclerView your recyclerView
 * @see #setNewData(List)
 */
public void disableLoadMoreIfNotFullPage(RecyclerView recyclerView) {
    setEnableLoadMore(false);
    if (recyclerView == null) return;
    RecyclerView.LayoutManager manager = recyclerView.getLayoutManager();
    if (manager == null) return;
    if (manager instanceof LinearLayoutManager) {
        final LinearLayoutManager linearLayoutManager = (LinearLayoutManager) manager;
        recyclerView.postDelayed(new Runnable() {
            @Override
            public void run() {
                if ((linearLayoutManager.findLastCompletelyVisibleItemPosition() + 1) != getItemCount()) {
                    setEnableLoadMore(true);
                }
            }
        }, 50);
    } else if (manager instanceof StaggeredGridLayoutManager) {
        final StaggeredGridLayoutManager staggeredGridLayoutManager = (StaggeredGridLayoutManager) manager;
        recyclerView.postDelayed(new Runnable() {
            @Override
            public void run() {
                final int[] positions = new int[staggeredGridLayoutManager.getSpanCount()];
                staggeredGridLayoutManager.findLastCompletelyVisibleItemPositions(positions);
                int pos = getTheBiggestNumber(positions) + 1;
                if (pos != getItemCount()) {
                    setEnableLoadMore(true);
                }
            }
        }, 50);
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:44,代码来源:BaseQuickAdapter.java

示例3: disableLoadMoreIfNotFullPage

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * check if full page after {@link #setNewData(List)}, if full, it will enable load more again.
 *
 * @param recyclerView your recyclerView
 * @see #setNewData(List)
 */
public void disableLoadMoreIfNotFullPage(RecyclerView recyclerView) {
    setEnableLoadMore(false);
    if (recyclerView == null) return;
    RecyclerView.LayoutManager manager = recyclerView.getLayoutManager();
    if (manager == null) return;
    if (manager instanceof LinearLayoutManager) {
        final LinearLayoutManager linearLayoutManager = (LinearLayoutManager) manager;
        recyclerView.postDelayed(new Runnable() {
            @Override
            public void run() {
                if ((linearLayoutManager.findLastCompletelyVisibleItemPosition() + 1) != getItemCount()) {
                    setEnableLoadMore(true);
                }
            }
        }, 50);
    } else if (manager instanceof StaggeredGridLayoutManager) {
        final StaggeredGridLayoutManager staggeredGridLayoutManager = (StaggeredGridLayoutManager) manager;
        recyclerView.postDelayed(new Runnable() {
            @Override
            public void run() {
                final int[] positions = new int[staggeredGridLayoutManager.getSpanCount()];
                staggeredGridLayoutManager.findLastCompletelyVisibleItemPositions(positions);
                int pos = getTheBiggestNumber(positions) + 1;
                if (pos != getItemCount()) {
                    setEnableLoadMore(true);
                }
            }
        }, 50);
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:37,代码来源:BaseQuickAdapter.java

示例4: disableLoadMoreIfNotFullPage

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * check if full page after {@link #setNewData(List)}, if full, it will enable load more again.
 *
 * @param recyclerView your recyclerView
 * @see #setNewData(List)
 */
public void disableLoadMoreIfNotFullPage(RecyclerView recyclerView) {
    if (recyclerView == null) return;
    RecyclerView.LayoutManager manager = recyclerView.getLayoutManager();
    if (manager == null) return;
    if (manager instanceof LinearLayoutManager) {
        final LinearLayoutManager linearLayoutManager = (LinearLayoutManager) manager;
        recyclerView.postDelayed(new Runnable() {
            @Override
            public void run() {
                if ((linearLayoutManager.findLastCompletelyVisibleItemPosition() + 1) != getItemCount()) {
                    setEnableLoadMore(true);
                }
            }
        }, 50);
    } else if (manager instanceof StaggeredGridLayoutManager) {
        final StaggeredGridLayoutManager staggeredGridLayoutManager = (StaggeredGridLayoutManager) manager;
        recyclerView.postDelayed(new Runnable() {
            @Override
            public void run() {
                final int[] positions = new int[staggeredGridLayoutManager.getSpanCount()];
                staggeredGridLayoutManager.findLastCompletelyVisibleItemPositions(positions);
                int pos = getTheBiggestNumber(positions) + 1;
                if (pos != getItemCount()) {
                    setEnableLoadMore(true);
                }
            }
        }, 50);
    }
}
 
开发者ID:liu-xiao-dong,项目名称:JD-Test,代码行数:36,代码来源:BaseQuickAdapter.java

示例5: initializeRecyclerView

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@SuppressWarnings({"ConstantConditions", "NullableProblems"})
private void initializeRecyclerView(Bundle savedInstanceState) {
	//Get copy of the Database list
	List<AbstractFlexibleItem> items = DatabaseService.getInstance().getDatabaseList();

	// Initialize Adapter and RecyclerView
	// ExampleAdapter makes use of stableIds, I strongly suggest to implement 'item.hashCode()'
	mAdapter = new ExampleAdapter(items, getActivity());
	mAdapter.setNotifyChangeOfUnfilteredItems(true) //This will rebind new item when refreshed
			.setMode(SelectableAdapter.MODE_SINGLE);

	// Experimenting NEW features (v5.0.0)
	mRecyclerView = (RecyclerView) getView().findViewById(R.id.recycler_view);
	mRecyclerView.setLayoutManager(createNewLinearLayoutManager());
	mRecyclerView.setAdapter(mAdapter);
	mRecyclerView.setHasFixedSize(true); //Size of RV will not change
	// NOTE: Use default item animator 'canReuseUpdatedViewHolder()' will return true if
	// a Payload is provided. FlexibleAdapter is actually sending Payloads onItemChange.
	mRecyclerView.setItemAnimator(new DefaultItemAnimator());
	// Divider item decorator with DrawOver enabled
	mRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), R.drawable.divider)
			.withDrawOver(true));
	mRecyclerView.postDelayed(new Runnable() {
		@Override
		public void run() {
			Snackbar.make(getView(), "Selection MODE_SINGLE is enabled", Snackbar.LENGTH_SHORT).show();
		}
	}, 1500L);

	// Add FastScroll to the RecyclerView, after the Adapter has been attached the RecyclerView!!!
	mAdapter.setFastScroller((FastScroller) getView().findViewById(R.id.fast_scroller),
			Utils.getColorAccent(getActivity()), (MainActivity) getActivity());

	SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) getView().findViewById(R.id.swipeRefreshLayout);
	swipeRefreshLayout.setEnabled(true);
	mListener.onFragmentChange(swipeRefreshLayout, mRecyclerView, SelectableAdapter.MODE_SINGLE);

	// Add 2 Scrollable Headers
	mAdapter.addUserLearnedSelection(savedInstanceState == null);
	mAdapter.addScrollableHeaderWithDelay(new ScrollableUseCaseItem(
			getString(R.string.selection_modes_use_case_title),
			getString(R.string.selection_modes_use_case_description)), 1100L, true
	);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:45,代码来源:FragmentSelectionModes.java

示例6: initializeRecyclerView

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@SuppressWarnings({"ConstantConditions", "NullableProblems"})
private void initializeRecyclerView(Bundle savedInstanceState) {
	// Initialize Adapter and RecyclerView
	// OverallAdapter makes use of stableIds, I strongly suggest to implement 'item.hashCode()'

	// In this example the Adapter make uses of METHOD B and extends FlexibleAdapter: items
	// don't implement the AutoMap and don't implement create and binding methods: The Adapter
	// remains responsible to handling all view types.
	mAdapter = new OverallAdapter(getActivity());

	// Experimenting NEW features (v5.0.0)
	mAdapter.setOnlyEntryAnimation(true)
			.setAnimationInterpolator(new DecelerateInterpolator())
			.setAnimationInitialDelay(500L)
			.setAnimationDelay(70L);

	// Prepare the RecyclerView and attach the Adapter to it
	mRecyclerView = (RecyclerView) getView().findViewById(R.id.recycler_view);
	mRecyclerView.setItemViewCacheSize(0); //Setting ViewCache to 0 (default=2) will animate items better while scrolling down+up with LinearLayout
	mRecyclerView.setLayoutManager(createNewStaggeredGridLayoutManager());
	mRecyclerView.setAdapter(mAdapter);
	mRecyclerView.setHasFixedSize(true); //Size of RV will not change

	// After Adapter is attached to RecyclerView
	mAdapter.setLongPressDragEnabled(true);
	mRecyclerView.postDelayed(new Runnable() {
		@Override
		public void run() {
			if (getView() != null) { //Fix NPE when closing app before the execution of Runnable
				Snackbar.make(getView(), "Long press drag is enabled", Snackbar.LENGTH_SHORT).show();
			}
		}
	}, 4000L);

	SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) getView().findViewById(R.id.swipeRefreshLayout);
	swipeRefreshLayout.setEnabled(true);
	mListener.onFragmentChange(swipeRefreshLayout, mRecyclerView, SelectableAdapter.MODE_IDLE);

	// Add 2 Scrollable Headers
	mAdapter.showLayoutInfo(savedInstanceState == null);
	mAdapter.addScrollableHeader(new ScrollableUseCaseItem(
			getString(R.string.overall_use_case_title),
			getString(R.string.overall_use_case_description)));
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:45,代码来源:FragmentOverall.java


注:本文中的android.support.v7.widget.RecyclerView.postDelayed方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。