Pagerstwich tab样式加下拉刷新(三)
2015-09-19 10:55
603 查看
例子和上面的两个是同一个,这次主要是activity的代码
这段代码主要实现每个list_item格式相同,不同的有点不一样
R.layout.common_list布局
最后我把XListView实现的类通过文件传上去。以及其中的一些类。。
这段代码主要实现每个list_item格式相同,不同的有点不一样
public class MyOrderActivity extends BaseActivity implements PagerSwitchListener, ErrorClickListener ,OnPageChangeListener , IXListViewListener{ @InjectView(id = R.id.back1) private ImageButton back; @InjectView(id = R.id.pagerSwitch) private PagerSwitch pagerSwitch; private String[] titleNames = new String[]{"待付款" , "已付款" , "待评价" ,"待接收"}; private int[] pages = new int[]{1,1,1,1}; @InjectView(id = R.id.myorder_viewpager) private ViewPager myorder_viewpager; private List<View> pager; private List<XListView> lists; private List<LoadView> loadViews; private List<MyorderAdapter> adapters; private List<MyorderInfo> firstList; private List<MyorderInfo> secondList; private List<MyorderInfo> thirdList; private List<MyorderInfo> fourList; //前面model好像粘贴错了,,,懂就好,,,一点点差别 private int testNum = 1; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.my_order); pagerSwitch.init(titleNames); pagerSwitch.setSelect(0); pagerSwitch.setPagerSwitchListener(this); initPager(); loadListFromLoadView(0); loadListFromLoadView(1); loadListFromLoadView(2); loadListFromLoadView(3); } private void initPager() { // TODO Auto-generated method stub pager = new ArrayList<View>(4); lists = new ArrayList<XListView>(4); loadViews = new ArrayList<LoadView>(4); adapters = new ArrayList<MyorderAdapter>(3); firstList = new ArrayList<MyorderInfo>(); secondList = new ArrayList<MyorderInfo>(); thirdList = new ArrayList<MyorderInfo>(); fourList = new ArrayList<MyorderInfo>(); View pager1 = LayoutInflater.from(this).inflate(R.layout.common_list, null); XListView list1 = (XListView)pager1.findViewById(R.id.xlistView); LoadView loadView1 = (LoadView)pager1.findViewById(R.id.loadView); loadView1.setErrorClickListener(this); //public Interface ErrorClicklistener{ MyorderAdapter adapters1 = new MyorderAdapter(this,firstList); // public reload(int type); list1.setAdapter(adapters1, 0); //} list1.setXListViewListener(this); lists.add(list1); loadViews.add(loadView1); adapters.add(adapters1); pager.add(pager1); View pager2 = LayoutInflater.from(this).inflate(R.layout.common_list, null); XListView list2 = (XListView)pager2.findViewById(R.id.xlistView); LoadView loadView2 = (LoadView)pager2.findViewById(R.id.loadView); loadView2.setErrorClickListener(this); MyorderAdapter adapters2 = new MyorderAdapter(this,secondList); list2.setAdapter(adapters2, 1); list2.setXListViewListener(this); lists.add(list2); loadViews.add(loadView2); adapters.add(adapters2); pager.add(pager2); View pager3 = LayoutInflater.from(this).inflate(R.layout.common_list, null); XListView list3 = (XListView)pager3.findViewById(R.id.xlistView); LoadView loadView3 = (LoadView)pager3.findViewById(R.id.loadView); loadView3.setErrorClickListener(this); MyorderAdapter adapters3 = new MyorderAdapter(this,thirdList); list3.setAdapter(adapters3, 2); list3.setXListViewListener(this); lists.add(list3); loadViews.add(loadView3); adapters.add(adapters3); pager.add(pager3); View pager4 = LayoutInflater.from(this).inflate(R.layout.common_list, null); XListView list4 = (XListView)pager4.findViewById(R.id.xlistView); LoadView loadView4 = (LoadView)pager4.findViewById(R.id.loadView); loadView4.setErrorClickListener(this); MyorderAdapter adapters4 = new MyorderAdapter(this , fourList); list4.setAdapter(adapters4, 3); list4.setXListViewListener(this); lists.add(list4); loadViews.add(loadView4); adapters.add(adapters4); pager.add(pager4); myorder_viewpager.setAdapter(new ListPagerAdapter(pager)); myorder_viewpager.setOnPageChangeListener(this); } private void loadListFromLoadView(final int position) { lists.get(position).setPullLoadEnable(false); lists.get(position).setPullRefreshEnable(false); loadViews.get(position).startLoad(); baseHandler.postDelayed(new Runnable() { @Override public void run() { // TODO Auto-generated method stub if (testNum == 1) { if(position == 0){ firstList.addAll(MyorderInfo.getTest()); } else if(position == 1){ secondList.addAll(MyorderInfo.getTest()); } else if(position == 2){ thirdList.addAll(MyorderInfo.getTest()); }else { fourList.addAll(MyorderReceiveInfo.getTest()); } if(position ==3) { adapters4.notifyDataSetChanged(); } else { adapters.get(position).notifyDataSetChanged(); } loadViews.get(position).loadDone(); lists.get(position).setPullLoadEnable(true); lists.get(position).setPullRefreshEnable(true); } else { loadViews.get(position).loadError(position); testNum++; } } }, 1000); } private void loadList(final int position , final boolean isLoadMore) { if (isLoadMore) { lists.get(position).setPullRefreshEnable(false); } else { lists.get(position).setPullLoadEnable(false); } baseHandler.postDelayed(new Runnable() { @Override public void run() { // TODO Auto-generated method stub if(position == 0){ firstList.addAll(MyorderInfo.getTest()); } else if(position == 1){ secondList.addAll(MyorderInfo.getTest()); }else if(position == 2){ thirdList.addAll(MyorderInfo.getTest()); }else { fourList.addAll(MyorderReceiveInfo.getTest()); } if(position ==3) { adapters4.notifyDataSetChanged(); } else { adapters.get(position).notifyDataSetChanged(); } lists.get(position).stopLoadMore(); lists.get(position).stopRefresh(); if (isLoadMore) { lists.get(position).setPullRefreshEnable(true); } else { lists.get(position).setPullLoadEnable(true); } } }, 1000); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.back1: AppManager.getAppManager().finishActivity(); break; default: break; } } @Override public void onRefresh(int type) { //为了区分每一个选项下的List // TODO Auto-generated method stub pages[type] = 1; if(type == 0){ firstList.clear(); }else if(type == 1){ secondList.clear(); }else if(type == 2){ thirdList.clear(); }else { fourList.clear(); } if(type ==3) { adapters4.notifyDataSetChanged(); } else { adapters.get(type).notifyDataSetChanged(); } loadList(type , false); lists.get(type).setRefreshTime(StringUtil.getNowTime()); } @Override public void onLoadMore(int type) { // TODO Auto-generated method stub pages[type] ++; loadList(type , true); } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub pagerSwitch.setSelect(arg0); // } @Override public void reload(int type) { //ErrorClickListener中实现的方法 // TODO Auto-generated method stub loadListFromLoadView(type); } @Override public void pagerChanged(int position) { //PagerSwitchListener中实现的方法 // TODO Auto-generated method stub myorder_viewpager.setCurrentItem(position, true); } @Override protected void initView() { // TODO Auto-generated method stub } @Override protected void setOnClickListener() { // TODO Auto-generated method stub back.setOnClickListener(this); } @Override protected void refresh(Object... param) { // TODO Auto-generated method stub } }
R.layout.common_list布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <com.driving.client.widget.xlistView.XListView android:id="@+id/xlistView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:cacheColorHint="@android:color/transparent" android:divider="#00000000" android:clickable="false" android:listSelector="@android:color/transparent" > </com.driving.client.widget.xlistView.XListView> <com.driving.client.widget.LoadView android:id="@+id/loadView" android:layout_height="fill_parent" android:layout_width="fill_parent" ></com.driving.client.widget.LoadView> </RelativeLayout>
最后我把XListView实现的类通过文件传上去。以及其中的一些类。。
相关文章推荐
- PagerSwitch tab样式加下拉刷新(二)
- css与html结合
- PagerSwitch tab样式加上下拉刷新(一)
- 样式单位之px、em、rem
- 精通CSS高级Web解决方案(第2版)——读书笔记
- dojo/dom-style样式操作学习笔记
- css3里面的奇淫怪技
- CSS 神奇的border(一)
- CSS基础语法
- CSS样式——边框、背景、表格
- [看书][CSS精粹(第2版)]第二章 文本样式和基础知识
- JS+CSS实现简单滑动门(滑动菜单)效果
- 对联广告 的css
- 毕业设计(十五)---发表文章(1)之- 发表文章和回复博客 的2个简单ckeditor样式
- css知多少(7)——盒子模型
- 用HTML和CSS实现WWDC 2015上的动画效果
- FSWD_1_BasicHtmlCss
- CSS 水平垂直居中 方法四
- CSS学习
- 用CSS实现的几个非常漂亮的按钮