|
|
@@ -1,18 +1,26 @@
|
|
|
package com.webrain.dailypay.ui.activity.position;
|
|
|
|
|
|
import android.os.Bundle;
|
|
|
-import android.support.v4.view.ViewPager;
|
|
|
+import android.support.annotation.NonNull;
|
|
|
import android.support.v7.widget.CardView;
|
|
|
+import android.view.View;
|
|
|
+import android.widget.AbsListView;
|
|
|
+import android.widget.ListView;
|
|
|
+import android.widget.RadioButton;
|
|
|
+import android.widget.RadioGroup;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
-import com.webrain.baselibrary.widget.PositionIndicator;
|
|
|
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
|
|
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
|
|
|
+import com.webrain.baselibrary.widget.refresh.ProgressRefreshLayout;
|
|
|
import com.webrain.dailypay.R;
|
|
|
-import com.webrain.dailypay.bean.TabItemBean;
|
|
|
-import com.webrain.dailypay.ui.adapter.viewpager.FragmentPagePositionAdapter;
|
|
|
-import com.webrain.dailypay.ui.adapter.viewpager.FragmentPagePositionApplyAdapter;
|
|
|
+import com.webrain.dailypay.bean.PositionListBean;
|
|
|
+import com.webrain.dailypay.bean.ResumeBean;
|
|
|
+import com.webrain.dailypay.ui.adapter.listview.PositionApplyAdapter;
|
|
|
import com.webrain.dailypay.ui.base.BaseActivity;
|
|
|
import com.webrain.dailypay.ui.mvp.contacts.PositionApplyManagerContacts;
|
|
|
import com.webrain.dailypay.ui.mvp.presenter.PositionApplyManagerPresenter;
|
|
|
+import com.webrain.dailypay.ui.viewholder.FooterViewHolder;
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
@@ -22,8 +30,6 @@ import butterknife.BindView;
|
|
|
* 职位报名管理
|
|
|
*/
|
|
|
public class PositionApplyManagerActivity extends BaseActivity<PositionApplyManagerPresenter> implements PositionApplyManagerContacts.IPositionApplyManagerView {
|
|
|
- @BindView(R.id.pi_position)
|
|
|
- PositionIndicator piPosition;
|
|
|
@BindView(R.id.tv_all_select)
|
|
|
TextView tvAllSelect;
|
|
|
@BindView(R.id.tv_all_refuse)
|
|
|
@@ -32,10 +38,19 @@ public class PositionApplyManagerActivity extends BaseActivity<PositionApplyMana
|
|
|
TextView tvInvitedInterview;
|
|
|
@BindView(R.id.cv_release)
|
|
|
CardView cvRelease;
|
|
|
- @BindView(R.id.vp_position)
|
|
|
- ViewPager vpPosition;
|
|
|
+ @BindView(R.id.lv_resume)
|
|
|
+ ListView lvResume;
|
|
|
+ @BindView(R.id.tb_new_apply)
|
|
|
+ RadioButton tbNewApply;
|
|
|
+ @BindView(R.id.tb_wait_interview)
|
|
|
+ RadioButton tbWaitInterview;
|
|
|
+ @BindView(R.id.rg_state)
|
|
|
+ RadioGroup rgState;
|
|
|
+ @BindView(R.id.prl_refresh)
|
|
|
+ ProgressRefreshLayout prlRefresh;
|
|
|
|
|
|
- FragmentPagePositionApplyAdapter mAdapter;
|
|
|
+ private FooterViewHolder mFooterHolder;
|
|
|
+ private PositionApplyAdapter mAdapter;
|
|
|
|
|
|
@Override
|
|
|
public int getLayoutId() {
|
|
|
@@ -50,21 +65,67 @@ public class PositionApplyManagerActivity extends BaseActivity<PositionApplyMana
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
|
- mvpPresenter.getTabItem();
|
|
|
+ setLoadingVisible(true);
|
|
|
+ prlRefresh.setOnRefreshListener(onRefreshListener);
|
|
|
+ mvpPresenter.init();
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获得标签
|
|
|
- *
|
|
|
- * @param tabItemBeanList
|
|
|
- */
|
|
|
@Override
|
|
|
- public void onTabItem(List<TabItemBean> tabItemBeanList) {
|
|
|
+ public void onPositionList(List<ResumeBean> mData, boolean isLastPage) {
|
|
|
+ setLoadingVisible(false);
|
|
|
+ setErrorVisible(false);
|
|
|
if (mAdapter == null) {
|
|
|
- mAdapter = new FragmentPagePositionApplyAdapter(getSupportFragmentManager(), mContext, tabItemBeanList);
|
|
|
- vpPosition.setAdapter(mAdapter);
|
|
|
- vpPosition.setOffscreenPageLimit(tabItemBeanList.size());
|
|
|
- piPosition.setViewPager(vpPosition, tabItemBeanList.get(0).getTitle(), tabItemBeanList.get(1).getTitle());
|
|
|
+ mFooterHolder = new FooterViewHolder(mContext);
|
|
|
+ mAdapter = new PositionApplyAdapter(mContext, mData);
|
|
|
+ lvResume.setAdapter(mAdapter);
|
|
|
+ lvResume.setOnItemClickListener(mAdapter);
|
|
|
+// lvResume.addHeaderView(View.inflate(mContext, R.layout.item_listview_position_header, null));
|
|
|
+ lvResume.addFooterView(mFooterHolder.getView());
|
|
|
+ lvResume.setOnScrollListener(onScrollListener);
|
|
|
+ } else {
|
|
|
+ mAdapter.updateData(mData);
|
|
|
+ mAdapter.notifyDataSetChanged();
|
|
|
+ }
|
|
|
+ if (isLastPage) {
|
|
|
+ mFooterHolder.noMoreData();
|
|
|
+ } else {
|
|
|
+ mFooterHolder.moreData();
|
|
|
}
|
|
|
+ prlRefresh.finishRefresh();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 监听下拉刷新触发
|
|
|
+ */
|
|
|
+ OnRefreshListener onRefreshListener = new OnRefreshListener() {
|
|
|
+ @Override
|
|
|
+ public void onRefresh(@NonNull RefreshLayout refreshLayout) {
|
|
|
+ mvpPresenter.getHttpPositionList(true, false, false);
|
|
|
+ }
|
|
|
+ };
|
|
|
+ /**
|
|
|
+ * 监听ListView 滑动 , 实现滑动底部加载更多
|
|
|
+ */
|
|
|
+ AbsListView.OnScrollListener onScrollListener = new AbsListView.OnScrollListener() {
|
|
|
+ private boolean mLastItemVisible;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onScrollStateChanged(AbsListView view, int scrollState) {
|
|
|
+ if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE
|
|
|
+ && mLastItemVisible) {
|
|
|
+ mvpPresenter.getHttpPositionList(false, false, false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
|
|
|
+ mLastItemVisible = (totalItemCount > 0)
|
|
|
+ && (firstVisibleItem + visibleItemCount >= totalItemCount - 1);
|
|
|
+ }
|
|
|
+ };
|
|
|
}
|