/*
* 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.userdata.indicator;
import com.taobao.luaview.userdata.ui.UDView;
import com.taobao.luaview.util.LuaUtil;
import com.taobao.luaview.view.indicator.LVCustomViewPagerIndicator;
import org.luaj.vm2.Globals;
import org.luaj.vm2.LuaValue;
import org.luaj.vm2.Varargs;
/**
* 指示器-Custom ViewPagerIndicator
*
* @author song
* @date 15/8/20
*/
public class UDCustomViewPagerIndicator<U extends LVCustomViewPagerIndicator> extends UDView<U> {
public UDCustomViewPagerIndicator(U view, Globals globals, LuaValue metaTable, Varargs initParams) {
super(view, globals, metaTable, initParams);
}
/**
* call init
*
* @param pos
* @return
*/
public LuaValue callCellInit(LuaValue cellData, int pos, int currentItem) {
return callCellFunction("Init", cellData, pos, currentItem);
}
/**
* call Layout
*
* @param pos
* @return
*/
public LuaValue callCellLayout(LuaValue cellData, int pos, int currentItem) {
return callCellFunction("Layout", cellData, pos, currentItem);
}
/**
* 调用 Page的某些方法
*
* @param method
* @param position
* @return
*/
private LuaValue callCellFunction(String method, LuaValue cellData, int position, int currentItem) {
return LuaUtil.callFunction(LuaUtil.getValue(initParams, method), cellData, LuaUtil.toLuaInt(position), LuaUtil.toLuaInt(currentItem));
}
/**
* 设置当前页面
*
* @param item
* @return
*/
public UDCustomViewPagerIndicator setCurrentItem(final int item) {
if (item != -1 && getView() != null) {
getView().setCurrentItem(item);
}
return this;
}
/**
* 当前页面
*
* @return
*/
public int getCurrentItem() {
return getView() != null ? getView().getCurrentItem() : 0;
}
}