/* * Created by LuaView. * Copyright (c) 2017, Alibaba Group. All rights reserved. * * This source code is licensed under the MIT. * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree. */ package com.taobao.luaview.view; import android.support.v4.widget.SwipeRefreshLayout; import android.view.View; import android.widget.BaseAdapter; import com.taobao.luaview.userdata.list.UDRefreshListView; import com.taobao.luaview.userdata.ui.UDView; import com.taobao.luaview.util.LuaViewUtil; import com.taobao.luaview.view.interfaces.ILVListView; import org.luaj.vm2.Globals; import org.luaj.vm2.LuaValue; import org.luaj.vm2.Varargs; import java.util.ArrayList; /** * LuaView - Refresh TableView * * @author song * @date 15/8/20 */ public class LVRefreshListView extends SwipeRefreshLayout implements ILVListView { //adapter private LVListView mListView; public LVRefreshListView(Globals globals, LuaValue metaTable, Varargs varargs) { super(globals.getContext()); this.mListView = new LVListView(globals, metaTable, varargs, new UDRefreshListView(this, globals, metaTable, varargs)); init(globals); } private void init(Globals globals) { globals.saveContainer(mListView); this.addView(mListView, LuaViewUtil.createRelativeLayoutParamsMM()); globals.restoreContainer(); if (!globals.isRefreshContainerEnable) { this.setEnabled(false); } else { ((UDRefreshListView) getUserdata()).initPullRefresh(); } } /** * 停止刷新 */ public void startPullDownRefreshing() { setRefreshing(true); } /** * 停止刷新 */ public void stopPullDownRefreshing() { setRefreshing(false); } @Override public UDView getUserdata() { return mListView != null ? mListView.getUserdata() : null; } @Override public void setVerticalScrollBarEnabled(boolean horizontalScrollBarEnabled) { if(mListView != null){ mListView.setVerticalScrollBarEnabled(horizontalScrollBarEnabled); } } @Override public boolean isVerticalScrollBarEnabled() { return mListView != null ? mListView.isVerticalScrollBarEnabled() : true; } public LVListView getListView() { return mListView; } @Override public BaseAdapter getLVAdapter() { return mListView != null ? mListView.getLVAdapter() : null; } @Override public void addHeader(View header) { if (mListView != null) { mListView.addHeader(header); } } @Override public void removeHeader() { if (mListView != null) { mListView.removeHeader(); } } @Override public void addFooter(View footer) { if (mListView != null) { mListView.addFooter(footer); } } @Override public void removeFooter() { if (mListView != null) { mListView.removeFooter(); } } @Override public void setChildNodeViews(ArrayList<UDView> childNodeViews) { } }