分页控件1

<com.aa.bb.cc.widget.PageWidget android:id="@+id/cendpage"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />


class PageWidget extends LinearLayout implements OnClickListener
{
private OnTurnPageListener mListener;

private int mCurrPage = 0;

private int mTotalPage = 0;

public PageWidget(Context context, AttributeSet attrs)
{
super(context, attrs);

this.addView(LayoutInflater.from(context).inflate(R.layout.split_pages, null));
}

protected void onFinishInflate()
{
this.setVisibility(GONE);
findViewById(R.id.prePage).setOnClickListener(this);
findViewById(R.id.nextPage).setOnClickListener(this);
findViewById(R.id.lastPage).setOnClickListener(this);
findViewById(R.id.firstPage).setOnClickListener(this);
}

/**设置数据
* @param totalPage 总页数
* @param currPage 当前页
*/
public void setData(int totalPage, int currPage)
{
this.mTotalPage = totalPage;
this.mCurrPage = currPage;
if (totalPage <= 0 || currPage <= 0)
{
this.setVisibility(GONE);
}
else
{
this.setVisibility(VISIBLE);
TextView percent = (TextView)findViewById(R.id.percent);

percent.setText(MessageFormat.format(getResources().getString(R.string.page_percent), new Object[] {
currPage + "", totalPage + ""}));
}
}

public void onClick(View v)
{
switch (v.getId())
{
case R.id.prePage:
if (mCurrPage > 1)
{
mCurrPage -= 1;
if (mListener != null)
{
mListener.onClick(v, mCurrPage, mTotalPage);
}
}

break;
case R.id.nextPage:
if (mCurrPage < mTotalPage)
{
mCurrPage += 1;
if (mListener != null)
{
mListener.onClick(v, mCurrPage, mTotalPage);
}
}
break;
case R.id.lastPage:
mCurrPage = mTotalPage;
if (mListener != null)
{
mListener.onClick(v, mCurrPage, mTotalPage);
}
break;
case R.id.firstPage:
mCurrPage = 1;
if (mListener != null)
{
mListener.onClick(v, mCurrPage, mTotalPage);
}
break;
default:
break;
}
}

public interface OnTurnPageListener
{
/**监听类方法
* @param v 被点击的试图
* @param currPage 点击后产生的页数
* @param totalPage 总页数
*/
void onClick(View v, int currPage, int totalPage);

}

/**设置跳转下载数据的接口
*/
public void setOnTurnPageListener(OnTurnPageListener pageListener)
{
this.mListener = pageListener;
}

public void setCurrPage(int currPage)
{
mCurrPage = currPage;
}

public int getCurrPage()
{
return mCurrPage;
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值