<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;
}

}

更多相关文章

  1. Android中接口的使用及类使用
  2. Android Studio 之 View组件常用属性及其对应的编程接口
  3. Android官方ORM数据库Room技术解决方案简介(一)
  4. Android(二)数据存储和访问 之文件
  5. 了解Android和数据库连接
  6. Android 应用程序之间数据共享—ContentProvider
  7. Android判断网络状态是否断开+Android完全关闭应用程序+ 本文讲
  8. 数据存储和界面笔记
  9. [Android Pro] 完美Android Cursor使用例子(Android数据库操作)

随机推荐

  1. 让android定时关机的实现方法
  2. Android(安卓)Android.mk 文件一点感悟
  3. Android四大组件之~~Service
  4. 安装Android(安卓)SDK和ADT步骤和遇到的
  5. Android使用ksoap2调用C#webservice体会
  6. Android(安卓)Wear 控件——WearableList
  7. 打不死的小强--双进程守护
  8. 自己祝贺一下访问量突破10000,发几个andro
  9. Android:使用SAX或者DOM或者pull操作XML文
  10. Android之ActivityManagerService浅谈