久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

android RecycleView實現下拉刷新和上拉加載

瀏覽:52日期:2022-09-23 14:36:28

android的下拉刷新,上拉加載功能,翻頁時顯示從第1頁開始到當前頁面的內容,并且當前顯示的是當前頁的內容;

1.PullRefreshRecyclerView.java : 翻頁控件

public class PullRefreshRecyclerView extends LinearLayout implements SwipeRefreshLayout.OnRefreshListener, View.OnTouchListener { private SwipeRefreshLayout swipeRefreshLayout; private RecyclerView recyclerView; private LinearLayout footerView; private OnPullRefreshListener listener; //是否正在刷新 private boolean isRefreshing = false; //是否正在加載 private boolean isLoading = false; //是否有更多數據 private boolean hasMore = false; public PullRefreshRecyclerView(Context context) { this(context, null); } public PullRefreshRecyclerView(Context context, AttributeSet attrs) { super(context, attrs); initView(context); initListener(); init(); } private void initView(Context context) { LayoutInflater.from(context).inflate(R.layout.pull_recycler_layout, this, true); swipeRefreshLayout = findViewById(R.id.swipeRefreshLayout); recyclerView = findViewById(R.id.recyclerView); footerView = findViewById(R.id.footerView); } private void initListener() { swipeRefreshLayout.setOnRefreshListener(this); recyclerView.addOnScrollListener(new PullableScroll()); //防止滾動的時候,滑動View recyclerView.setOnTouchListener(this); } private void init() { swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_green_dark, android.R.color.holo_blue_dark, android.R.color.holo_orange_dark); //隱藏垂直滾動條 recyclerView.setVerticalScrollBarEnabled(true); //item高度固定時,設置該選項提高性能 recyclerView.setHasFixedSize(true); //設置item動畫效果 recyclerView.setItemAnimator(new DefaultItemAnimator()); } public void setHasFixedSize(boolean hasFixedSize) { recyclerView.setHasFixedSize(hasFixedSize); } public void setItemAnimator(RecyclerView.ItemAnimator animator) { recyclerView.setItemAnimator(animator); } public void setLayoutManager(RecyclerView.LayoutManager layout) { recyclerView.setLayoutManager(layout); } public void setVerticalScrollBarEnabled(boolean verticalScrollBarEnabled) { recyclerView.setVerticalScrollBarEnabled(verticalScrollBarEnabled); } public void addItemDecoration(RecyclerView.ItemDecoration decor) { recyclerView.addItemDecoration(decor); } public void setAdapter(RecyclerView.Adapter adapter) { recyclerView.setAdapter(adapter); } /** * 設置監聽下拉或上拉的事件 * * @param listener */ public void setOnPullRefreshListener(OnPullRefreshListener listener) { this.listener = listener; } /** * 設置是否有更多數據 * * @param hasMore */ public void setHasMore(boolean hasMore) { this.hasMore = hasMore; } /** * 滾動到頂部 */ public void scrollToTop() { recyclerView.scrollToPosition(0); } /** * 正在刷新 */ @Override public void onRefresh() { isRefreshing = true; if (listener != null) { listener.onRefresh(); } } /** * 設置是否允許下拉 * * @param enable */ public void setRefreshEnable(boolean enable) { swipeRefreshLayout.setEnabled(enable); } /** * 滾動時判斷能否能刷新 * * @return */ private boolean isRefreshEnable() { return !isRefreshing && !isLoading; } /** * 正在加載更多 */ public void doLoadMore() { if (!isLoading && hasMore && !isRefreshing) { footerView.setVisibility(View.VISIBLE); isLoading = true; //禁止下拉 setRefreshEnable(false); if (listener != null) { listener.onLoadMore(); } } } /** * 刷新或加載完成 */ public void refreshOrLoadComplete() { isRefreshing = false; swipeRefreshLayout.setRefreshing(false); isLoading = false; footerView.setVisibility(View.GONE); //允許下拉 this.setEnabled(true); } @Override public boolean onTouch(View v, MotionEvent event) { return isRefreshing || isLoading; } public interface OnPullRefreshListener { /** * 刷新操作 */ void onRefresh(); /** * 加載操作 */ void onLoadMore(); } /** * 監聽RecycleView滑動底部或頂部 */ class PullableScroll extends RecyclerView.OnScrollListener { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); int lastVisibleItem = 0; int firstVisibleItem = 0; RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager(); int totalItemCount = layoutManager.getItemCount(); if (layoutManager instanceof LinearLayoutManager) { LinearLayoutManager linearLayoutManager = (LinearLayoutManager) layoutManager; lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition(); firstVisibleItem = linearLayoutManager.findFirstCompletelyVisibleItemPosition(); } else if (layoutManager instanceof StaggeredGridLayoutManager) { StaggeredGridLayoutManager staggeredGridLayoutManager = (StaggeredGridLayoutManager) layoutManager; // since may lead to the final item has more than one StaggeredGridLayoutManager the particularity of the so here that is an array // this array into an array of position and then take the maximum value that is the last show the position value int[] lastPositions = new int[((StaggeredGridLayoutManager) layoutManager).getSpanCount()]; staggeredGridLayoutManager.findLastVisibleItemPositions(lastPositions); lastVisibleItem = findMax(lastPositions); firstVisibleItem = staggeredGridLayoutManager.findFirstVisibleItemPositions(lastPositions)[0]; } pullRefreshEnable(firstVisibleItem, totalItemCount); if (isSlideToBottom(recyclerView)) { loadMore(dx, dy, lastVisibleItem, totalItemCount); } } private int findMax(int[] lastPositions) { int max = lastPositions[0]; for (int value : lastPositions) { if (value > max) { max = value; } } return max; } } /** * 判斷是否滑動到底部 * * @param recyclerView * @return */ public boolean isSlideToBottom(RecyclerView recyclerView) { if (recyclerView == null) { return false; } if (recyclerView.computeVerticalScrollExtent() + recyclerView.computeVerticalScrollOffset() >= recyclerView.computeVerticalScrollRange()) { return true; } return false; } private void loadMore(int dx, int dy, int lastVisibleItem, int totalItemCount) { //滾動到底部時且有更多數據能夠上拉加載 if (lastVisibleItem >= totalItemCount - 1 && (dx > 0 || dy > 0)) { doLoadMore(); } } private void pullRefreshEnable(int firstVisibleItem, int totalItemCount) { //滾動到頂部時能夠下拉刷新 if (firstVisibleItem == 0 || totalItemCount == 0) { if (isRefreshEnable()) { //允許下拉 setRefreshEnable(true); } } else { //禁止下拉 setRefreshEnable(false); } } }

2.PunishListActivity.java: 調用

@Route(path = Page.ACTIVITY_PUNISH_LIST)public class PunishListActivity extends BaseActivity implements View.OnClickListener, PullRefreshRecyclerView.OnPullRefreshListener { private static final String TAG = 'PunishListActivity'; private List<PunishBean> punishBeans = new ArrayList<>(); private Context mContext; private EditText et_punish_searchName; private ImageView iv_search; private PullRefreshRecyclerView prr_punish; private String officeName = ''; private int pageNo = 1; private boolean isLastPage = false; private PunishAdapter punishAdapter; @Override public void onBeforeSetContentView() { StatusBarUtil.translucent(this, ContextCompat.getColor(this, R.color.color_0a5fb6)); } @Override public int getLayoutResID() { return R.layout.activity_punish_list; } @Override protected CharSequence setActionBarTitle() { return '行政處罰'; } @Nullable @Override public AppBarConfig getAppBarConfig() { return mAppBarCompat; } @Override public int setActionBarRightVisibility() { return View.VISIBLE; } @Override public CharSequence setActionBarRightText() { return '添加'; } public void onResume(){ super.onResume(); getPunishList(''); } @Override public void initContentView(@Nullable Bundle savedInstanceState) { mContext = PunishListActivity.this; et_punish_searchName = findViewById(R.id.et_punish_searchName); iv_search = findViewById(R.id.iv_search); iv_search.setOnClickListener(this); prr_punish = findViewById(R.id.prr_punish); prr_punish.setOnPullRefreshListener(this); prr_punish.setHasMore(true); } @Override public void initData(@Nullable Bundle savedInstanceState) { punishAdapter = new PunishAdapter(mContext,punishBeans); LinearLayoutManager manager = new LinearLayoutManager(mContext); manager.setOrientation(RecyclerView.VERTICAL); prr_punish.setLayoutManager(manager); prr_punish.setAdapter(punishAdapter);// getPunishList(); } private void getPunishList(String officeName){ HashMap<String, Object> baseParam = WebFrontUtil.getBaseParam(); baseParam.put('pageNo', pageNo); baseParam.put('pageSize', 10); baseParam.put('officeName', officeName); OkHttpUtil.post(TAG, WebApi.PUNISH_LIST_URL, baseParam, new StringCallback() { @Override public void onError(Call call, Exception e, int id) { hideWaitDialog(); Log.d(TAG,''+e); } @Override public void onResponse(String response, int id) { Log.d(TAG,'response==='+response); try { JSONObject object = new JSONObject(response); hideWaitDialog(); if ((int)object.get('code') == 200) { JSONObject object1 = object.getJSONObject('data'); PunishBeanList punishBeanList = new Gson().fromJson(object1.toString(),PunishBeanList.class); Log.d(TAG,'response==='+punishBeanList.getList().size()); if (pageNo == 1) { punishBeans.clear(); } if (punishBeanList.getList() != null && punishBeanList.getList().size() != 0) { List<PunishBean> addPunishs = new ArrayList<>(); addPunishs = punishBeanList.getList(); if (punishBeans.size() > 0) { punishBeans.addAll(addPunishs); punishAdapter.addMoreData(addPunishs); } else { punishBeans = addPunishs; punishAdapter.setData(addPunishs); } if (punishBeanList.isLastPage()) { isLastPage = true; Log.e(TAG,'isLastPage = true '); }else { isLastPage = false; Log.e(TAG,'isLastPage = false '); } } } else { Toast.makeText(mContext,object.get('message').toString(),Toast.LENGTH_SHORT).show(); } } catch (JSONException e) { e.printStackTrace(); } } }); } @Override protected void actionBarRightOnClick() { ARouter.getInstance().build(Page.ACTIVITY_PUNISH_ADD).navigation(); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.iv_search: showWaitDialog(); officeName = et_punish_searchName.getText().toString(); pageNo = 1; isLastPage = false; getPunishList(officeName); break; } } @Override public void onRefresh() { prr_punish.refreshOrLoadComplete(); pageNo = 1; getPunishList(officeName); prr_punish.setRefreshEnable(true); } @Override public void onLoadMore() { Log.d(TAG,'onLoadMore==================='); prr_punish.refreshOrLoadComplete(); if (isLastPage) { prr_punish.setRefreshEnable(false); } else { pageNo += 1; getPunishList(officeName); } }}

3.PunishAdapter.java

public class PunishAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context mContext; private List<PunishBean> punishList; public PunishAdapter(Context mContext, List<PunishBean> punishList) { this.mContext = mContext; this.punishList = punishList; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(mContext).inflate(R.layout.punish_item,parent,false); PunishHolder punishHolder = new PunishHolder(view); return punishHolder; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { PunishBean punishBean = punishList.get(position); PunishHolder punishHolder = (PunishHolder) holder; punishHolder.tv_punishName.setText(punishBean.getOfficeName()); punishHolder.tv_faren.setText(punishBean.getLegalPerson()); punishHolder.tv_punishMode.setText(punishBean.getPunishWay()); punishHolder.tv_punishReason.setText(punishBean.getReason()); punishHolder.tv_punishTime.setText(punishBean.getUpdateTime()); punishHolder.tv_punishDesc.setText(punishBean.getRemarks()); punishHolder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Bundle bundle = new Bundle(); bundle.putSerializable('punishDetail',punishBean); ARouter.getInstance().build(Page.ACTIVITY_PUNISH_DETAIL).with(bundle).navigation(); } }); } /* * 向列表尾部添加數據 * */ public void addMoreData(List<PunishBean> list) { int oldSize = punishList.size(); if (list != null && list.size() > 0) { punishList.addAll(punishList.size(), list); notifyItemRangeInserted(oldSize, list.size()); } } /* * 填充新數據 * */ public void setData(List<PunishBean> data) { if (data != null && data.size() > 0) { punishList.clear(); punishList.addAll(data); notifyDataSetChanged(); } } @Override public int getItemCount() { return punishList==null? 0:punishList.size(); } class PunishHolder extends RecyclerView.ViewHolder { private TextView tv_punishName,tv_faren,tv_punishMode,tv_punishReason,tv_punishTime,tv_punishDesc; public PunishHolder(@NonNull View itemView) { super(itemView); tv_punishName = itemView.findViewById(R.id.tv_punishName); tv_faren = itemView.findViewById(R.id.tv_faren); tv_punishMode = itemView.findViewById(R.id.tv_punishMode); tv_punishReason = itemView.findViewById(R.id.tv_punishReason); tv_punishTime = itemView.findViewById(R.id.tv_punishTime); tv_punishDesc = itemView.findViewById(R.id.tv_punishDesc); } }}

4.布局文件:

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' xmlns:tools='http://schemas.android.com/tools' android:fitsSystemWindows='true' android:orientation='vertical' android:layout_margin='@dimen/px40' android:background='@color/color_ffffff' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.modules.punish.PunishListActivity'> <RelativeLayout android: android:layout_width='match_parent' android:layout_marginTop='@dimen/px20' android:layout_height='103px' android:background='@drawable/bg_radius_blue'> <EditText android: android:layout_width='match_parent' android:layout_height='match_parent' android:layout_marginStart='@dimen/px44' android:layout_marginEnd='@dimen/px110' android:background='@null' android:hint='請輸入單位名稱' android:inputType='text' android:textColor='@color/color_hint' android:textColorHint='@color/color_hint' android:textSize='@dimen/font_14' /> <ImageView android: android:layout_width='@dimen/px54' android:layout_height='@dimen/px54' android:layout_alignParentEnd='true' android:layout_centerVertical='true' android:layout_marginEnd='@dimen/px50' android:src='http://www.gepszalag.com/bcjs/@drawable/icon_text_search' /> </RelativeLayout> <com.nmpa.nmpaapp.widget.PullRefreshRecyclerView android: android:layout_width='match_parent' android:layout_height='wrap_content'/></LinearLayout>

本文已經被整理到《Android下拉刷新上拉加載效果》,歡迎大家學習研究。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
主站蜘蛛池模板: 97视频在线 | 91原创视频在线观看 | 亚洲一区久久 | 日本a在线| 区一区二区三在线观看 | 羞羞视频在线观免费观看 | 一区二区在线看 | 久久久午夜爽爽一区二区三区三州 | 亚洲精品综合 | 久久午夜视频 | 精品久久久av | 99视频精品| 精品国内 | 国产精品高潮呻吟 | 国产情侣一区二区三区 | 中文字幕永久第一页 | va在线观看 | 亚洲视频在线看 | 国产在线一区二区三区 | 一级一片免费视频 | 在线成人免费视频 | 欧美日韩亚洲视频 | 日韩视频一区 | 日本久久久亚洲精品 | 日韩成人不卡 | 人干人人| 日韩成人高清 | 高清一区二区三区 | 精品一区二区三区四区视频 | 在线观看亚洲一区二区三区 | 91精品一区二区 | 99国产精品久久久久久久 | 午夜家庭影院 | 欧美激情在线狂野欧美精品 | 色综合天天综合网国产成人网 | 中文字幕一区在线 | 欧美一区久久 | 9 1在线观看 | 国产成人精品久久二区二区 | 91亚色| 欧美日韩中文在线观看 | 久草新 | 日韩色综合| 五月婷婷激情 | 一区二区中文字幕在线观看 | 成人免费视频网 | 操久久 | 久久成人国产 | 天天综合永久入口 | 日韩成人在线一区 | 91视在线国内在线播放酒店 | 中文字幕av高清 | 国产午夜精品久久 | 国产日韩欧美一区二区 | 一区二区在线免费观看 | 成人在线亚洲 | 中文精品在线 | 亚洲国产精品一区二区第一页 | 欧美精品日韩 | 午夜小影院 | 色欧美片视频在线观看 | 极品一区 | 午夜影院在线观看 | 欧美日本亚洲 | 午夜在线| 成人在线看片 | 9 1在线观看 | 99久久久成人国产精品 | 欧美一级片在线观看 | 卡通动漫第一页 | 国产黄色大片免费观看 | 亚洲国产精品t66y | 一级免费黄色 | 午夜久久久 | 国内成人免费视频 | 久久婷婷国产麻豆91天堂 | 日韩av免费在线观看 | 91精品国产综合久久久久久 | 91精品国产综合久久久久久软件 | 日韩a视频 | 亚洲欧美精品久久 | 韩国精品在线 | 国产福利精品一区 | 日韩欧美一区二区在线观看视频 | 91亚洲成人 | 亚洲欧洲久久 | 亚洲国产精品视频 | 精品久久久久久一区二区 | 天天干狠狠干 | 国产精品视频导航 | 久久精品在线 | 日本三级国产 | 三级黄视频在线观看 | 国产在线1 | 国产精品久久国产愉拍 | 久久99精品久久久 | 日本一级在线观看 | 亚欧毛片 | 成人性大片免费观看网站 | 国产偷录视频叫床高潮对白 | 一级片免费在线视频 | 丁香婷婷在线观看 | 午夜草民福利电影 | 精品久久久久久国产 | 日韩精品一区二区三区中文在线 | 国产精品久久久久久久久久久小说 | 精品久久久久久国产三级 | 亚洲 欧美 精品 | 欧美日韩精品亚洲 | www.99热.com | 国产精品福利一区 | 看欧美黄色录像 | 午夜免费小视频 | 99精品全国免费观看视频软件 | 看毛片的网站 | 亚洲综合无码一区二区 | 欧美视频在线免费 | 国产不卡视频在线观看 | 国产精品毛片一区视频播 | 久久久久亚洲 | 国产免费一区二区三区最新不卡 | 自拍偷拍在线视频 | 免费h在线观看 | 成人精品视频免费在线观看 | 国产999精品久久久影片官网 | 亚洲午夜精品 | 精品久久久久久亚洲综合网 | 成人久久18免费 | 狠狠躁夜夜躁人人爽天天高潮 | 人人干人人看 | 久久久久国产 | 青青久久 | 国产欧美一区二区视频 | 日韩欧美国产一区二区 | 精品在线播放 | 操视频网站| 91精产国品一二三区在线观看 | 操操操操操操操 | 国产女人爽到高潮免费视频 | 9999国产精品 | 国产成人精品a视频一区www | 91久久爽久久爽爽久久片 | 精品久久久久久久久久久久久久 | 99伊人 | 欧美一区二区三区在线视频观看 | 国产免费黄色 | 美日韩一区二区 | 精品天堂| 在线视频91 | 成人日韩| 久久a毛片| 亚洲午夜电影 | 精品国产99| 欧美国产一区二区三区 | 美女三区| 国产伦精品一区二区三区在线 | 一区二区三区国产 | 噜噜噜噜狠狠狠7777视频 | 国产一级视频在线观看 | 狠狠综合久久av一区二区老牛 | 97超碰人人| 91麻豆精品久久久久蜜臀 | 国产精品久久久久久久久免费高清 | 国产最好的av国产大片 | 91玖玖 | 日本亚洲精品成人欧美一区 | 不卡一区| 成人天堂噜噜噜 | 成人a网 | 国产婷婷精品 | 久久国产精品久久 | 99久久精品一区二区 | 亚洲网站在线免费观看 | 中文字幕天天操 | 99精品国产在热久久 | 成人一区电影 | 国产乱码精品一区二区三 | 高清国产午夜精品久久久久久 | 国产高潮失禁喷水爽网站 | 成人 在线| 亚洲高清在线观看 | 久久精品久久久久 | 午夜小电影 | 中文字幕一区二区三区乱码图片 | 亚洲精品一区二三区 | 黄免费视频 | 色吊丝在线永久观看最新版本 | 一区二区av | 久久第一区 | 草久在线视频 | 成人在线免费视频 | 久久久久久久国产精品 | 久草视频在线播放 | 一区二区三区四区av | 精品久久久久久久久久久久久久久久久久 | 男人天堂视频网 | 欧美日韩精品综合 | 国产一区二区资源 | 一区二区三区四区免费 | 欧美一区三区 | 婷婷综合五月 | www.99re | 国产成人午夜高潮毛片 | 免费视频久久 | 天天久久 | 奇米一区二区 | 日韩亚洲一区二区 | 亚洲一区二区三区四区在线观看 | 一级片在线免费看 | 国产网站在线播放 | 综合久久亚洲 | 亚洲人成网站999久久久综合 | 九九r热| 91九色最新 | 天天玩天天操天天射 | 国产精品国产自产拍高清 | 亚洲第一av | 日本在线观看视频一区 | 激情久久av一区av二区av三区 | 亚洲精选免费视频 | 久久久久久久国产精品 | 亚洲国产精品久久久久久女王 | 中文字幕在线永久在线视频 | 狠狠狠干 | 天天碰天天操 | 欧美日韩亚洲视频 | 成人深夜在线观看 | 欧美精品一区二区三区免费视频 | 国产精品久久久久久婷婷天堂 | 国产精品地址 | 国产乱码精品一区二区三区av | 欧美精品久久久久久久久 | 久久国产精品无码网站 | a在线免费观看 | 国产精品久久久久久久久久99 | a级在线 | 91在线| 成人精品三级av在线看 | 黄色片免费在线观看视频 | 日韩欧美中文 | 成人av小说 | 一级在线观看视频 | 一级视频黄色 | 91精品国产99 | 色偷偷888欧美精品久久久 | 国产一区二区三区在线免费观看 | 亚洲美女网站 | 亚洲午夜剧场 | 午夜激情视频在线观看 | 精品久久久久久 | 国产一区二区视频免费 | 免费v片在线观看 | 亚洲精品国产第一综合99久久 | 亚洲一在线| 亚洲综合精品久久 | 日本激情网 | 日韩精品在线观看免费 | 亚洲一区二区三区四区 | 国产精品久久久久一区二区三区 | 91久久精品一区二区别 | 91亚洲国产成人久久精品网站 | 91福利电影在线观看 | 精品久久久久久久久久久久久久 | 精品亚洲一区二区三区 | 久日精品| 一级免费毛片 | 日韩国产二区 | 97精品国产| 久久一| 久久久久久久久久久久国产精品 | 欧美日韩一区在线 | 九九久久久 | 久久久999成人 | 精品成人一区 | 大桥未久亚洲精品久久久强制中出 | 日韩国产中文字幕 | 中文字幕乱码一区二区三区 | 后进极品白嫩翘臀在线视频 | 中文字幕欧美激情 | 欧美日韩午夜精品 | 精品一区二区三区国产 | 日韩精品 | 操操操日日日 | 中文字幕 国产精品 | 欧美自拍三区 | 黄色在线免费观看 | 在线观看成人 | 日韩在线小视频 | 偷拍做爰吃奶视频免费看 | 久久99精品久久久久子伦 | 国产精品亚洲成人 | 久久久一区二区 | 久久精品国产亚洲一区二区三区 | 亚洲成人精品视频 | 毛片网站大全 | 亚洲精品国品乱码久久久久 | 成人亚洲 | 亚洲天堂一区 | 成人精品国产 | 一级黄色短片 | 亚洲精品国产第一综合99久久 | 日韩精品在线视频观看 | 亚洲久久久 | 性视频亚洲 | 专干老肥女人88av | 亚洲日韩中文字幕 | 在线观看免费av的网址 | 国产欧美久久久久久 | 精品国产一区二区三区久久久蜜月 | 精品一区二区三区三区 | 色爱区综合五月激情 | 欧美成人中文字幕 | 久久伊人亚洲 | 精品视频网| 亚洲综合精品久久 | 91精品国产综合久久久久 | 日韩中文久久 | 久久精彩视频 | 国产精品久久久久久久岛一牛影视 | 国产成人在线网站 | 亚洲一区二区三区免费看 | 得得啪在线视频 | 女人久久久| 欧美日韩在线播放 | 青青草一区| 成人免费xxxxx在线观看 | 欧美激情综合五月色丁香小说 | 欧美成人影院在线 | 国产不卡视频在线观看 | 男女视频在线免费观看 | 日日摸夜夜添夜夜添高潮视频 | 精品国产欧美一区二区 | 国产免费一区二区三区 | 99久久夜色精品国产亚洲1000部 | 岛国av在线 | 精品一二三区 | 91久久国产 | 天天操天天色天天 | 成人在线视频网站 | 国产黄 | 自拍偷拍亚洲欧洲 | 精品国产一区二区三区久久影院 | av片在线观看 | 真人女人一级毛片免费播放 | 日韩久久一区二区 | 日韩欧美国产精品一区二区三区 | 日韩一区精品 | 国产福利在线视频 | 九九亚洲 | 中文字幕日韩欧美 | 国产精品二区一区二区aⅴ污介绍 | 欧美午夜视频在线观看 | 国产成人精品久久二区二区91 | a级毛片久久 | 在线高清av | 亚洲视频一区 | 国产一区二区三区 | av网站网址 | а天堂中文最新一区二区三区 | 国产一页| www.91在线| 国产日韩精品入口 | 久久精品国产99国产精品 | 国产精品精品视频一区二区三区 | 一区自拍 | 大香一网 | 99久久婷婷国产综合精品电影 | 日韩中文字幕一区 | 欧美成人在线影院 | 国产精品丝袜视频 | 国产一区二区三区网站 | 精品中文字幕一区二区 | 日本在线观看视频一区 | 中文字幕亚洲一区 | 色免费在线观看 | 国产亚洲一区二区三区在线观看 | 日韩三级中文字幕 | 亚洲a网| av网站观看| 一区在线视频观看 | 最新日韩在线观看视频 | 91高清视频 | 91久久久久久久久 | 亚洲啊v在线 | 毛片网站大全 | 国产91久久久久 | 国产午夜精品久久 | 成人在线视频一区 | 精品一区二区久久久久久久网站 | 岛国在线免费 | 亚洲国产精品网站 | 日韩在线观看网站 | 99精品一区二区 | 国产探花在线精品一区二区 | 黄色在线免费看 | 夫妻午夜影院 | 久久91视频 | 伊人夜夜躁av伊人久久 | 国产精品一区久久久久 | 羞羞视频免费观看 | 日韩欧美国产网站 | 成人一级片视频 | 日韩av免费在线观看 | 亚洲视频免费在线 | 91av国产视频| 日日人人 | 91精品一区 | 国产羞羞视频免费在线观看 | 欧美视频免费在线 | 亚洲欧美视频 | 偷拍电影一区二区三区 | 亚洲国产高清高潮精品美女 | 91精品一区二区三区久久久久 | 久久久网页 | 亚洲一区二区中文字幕 | 一区二区三区回区在观看免费视频 | 国产亚洲成av人片在线观看桃 | 午夜小电影 | 亚洲电影在线观看 | 中文字幕av亚洲精品一部二部 | 亚洲综合欧美日韩 | 久久se精品一区精品二区 | 欧美成人免费在线视频 | 成人日韩| 亚洲一区二区免费看 | 一级黄色大片 | 国产一区二区三区四 | 成人精品免费视频 | 婷婷久 | 全免一级毛片 | 色婷婷一区二区三区四区 | 天天色天天看 | 在线成人免费 | 国产精品永久 | 日韩三级 | 亚洲嫩草 | www.日韩大片 | 国产精品久久久久9999鸭 | 玖玖视频在线 | 国产一区二区三区久久久 | 午夜久久乐| 日韩成人影院 | 亚洲免费视频一区 | 国产精品久久久久久久久 | 日韩理伦在线 | 国产成人精品一区二区三区四区 | 中文字幕第90页 | 黄色免费网站观看 | 国产一区免费 | 米奇狠狠操 | 自拍偷拍亚洲视频 | 亚洲视频区 | 在线一区视频 | 一级黄色片视频 | 夜夜艹 | 亚洲日韩aⅴ在线视频 | 日本a在线| 欧美精品成人一区二区三区四区 | 日韩欧美在线视频 | 一级大毛片 | 成人综合区 | 久久久一区二区 | 亚洲成a人v欧美综合天堂麻豆 | 欧美一区免费 | 99精品国产高清一区二区麻豆 | 三区中文字幕 | 狠狠的干 | 欧美日韩不卡视频 | 久草综合网 | 性免费网站 | 精品在线一区 | 在线成人av | 国产一区二区日韩 | 久久久精品网 | 久久久久久国产精品 | 日本天堂在线播放 | 久在线视频 | 亚洲欧洲自拍 | 成人免费毛片高清视频 | 午夜激情影院 | 特a级片 | 最新日韩免费 | 亚洲网站免费 | 91在线网址 | 亚洲97视频 | 亚洲成人一二区 | 久久在线 | 黄片毛片在线观看 | 日日想日日干 | 波多野结衣一二三四区 | 国产精品久久久久久久久免费 | 伊人网网站 | 国产中文字幕在线 | 黄色大片视频 | 嫩草研究院在线观看入口 | 色天天综合久久久久综合片 | 亚洲精品视频在线播放 | 成人午夜激情 | 蜜臀91精品国产高清在线观看 | 性色在线视频 | 伊人精品视频在线观看 | 亚洲精品第一区在线观看 | 在线观看av不卡 | 国产极品视频在线观看 | 成人免费视频网站在线看 | 精品国产乱码久久久久久密桃99 | 97久久久久久久久久久久 | 麻豆成人在线 | 亚洲视频在线看 | 亚洲成人一区 | 国产精品精品视频一区二区三区 | 久久久久综合 | 日本成人福利视频 | 免费v片| 国产成人啪精品午夜在线观看 | 国产午夜精品一区二区三区免费 | 日韩a级免费视频 | 日韩欧美一级精品久久 | 欧美 国产精品 | 欧美在线亚洲 | 日韩一区二区中文字幕 | 日韩视频在线免费 | 欧美精品在线观看免费 | 韩国电影久久影院 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 久久成人免费视频 | 欧美日韩一区二区在线播放 | 香蕉久久一区二区不卡无毒影院 | 亚洲一区二区在线 | 成人免费在线播放 | 亚洲综合国产 | 成人精品一区二区 | 日韩小视频网站 | 国产在线一区二区三区 | 国产v日产∨综合v精品视频 | 久久精品这里只有精品 | 亚洲综合精品 | 日韩最新网址 | 亚洲狠狠爱一区二区三区 | 亚洲一区二区三区四区五区中文 | 美女操av| 久久久久久亚洲精品 | 欧美一级视频 | 国产成人99久久亚洲综合精品 | 国产乱码一区二区三区 | 精品久久久久久久久久久久 | 99热国产精品 | 国产精品无码永久免费888 | 成人特区 | 操一草| 这里只有精品在线视频观看 | 曰批免费视频播放免费 | 爱爱免费视频网站 | 中文在线一区 | 天堂精品久久 | 精品一区在线 | 免费一区二区三区 | 国产在线综合网 | 99久久婷婷国产综合精品电影 | 欧美一级毛片免费看 | 91在线看 | 三级av网站| 国产日韩精品一区二区 | 中文字幕亚洲一区 | 精品国产精品三级精品av网址 | 亚洲国产一区二区在线 | 成人精品视频99在线观看免费 | 成人免费毛片aaaaaa片 | 久久综合九色综合欧美狠狠 | 日韩视频在线视频 | 久久久看片 | 国产午夜精品一区二区三区 | 国产欧美精品一区二区 | 久久精品免费电影 | 精品视频一区在线观看 | 欧美日韩一区精品 | 久久国产精品久久久久久 | 国产精品久久久久久婷婷天堂 | 国产区在线| 日本亚洲国产一区二区三区 | 91小视频| 亚洲精品福利在线观看 | 亚洲网在线| 欧美一级特 | 欧美一级精品 | 成人午夜电影网 | www久| 久久久久久久一区 | 五月婷婷丁香 | 国产精品久久久久久 | 日韩精品久久理论片 | 亚洲啊v | 国产色 | 久久九九国产精品 | 日日干夜夜操 | 欧美久久精品 | 色天天天天色 | 亚洲成av| 久久伊人草 | 青青草国产成人av片免费 | 中文字幕一区二区三区在线视频 | a久久久 | 中文字幕在线视频精品 | 欧洲妇女成人淫片aaa视频 | 欧美精品一级二级 | 91免费看 | 久久精品久久久 | 久久av资源网 | 久久精品1 | 精品国产一区二区三区四区 | 欧美,日韩| 亚洲不卡免费视频 | 96自拍视频 | 亚洲欧美一区二区在线观看 | 午夜影视在线观看 |