|
|
@@ -55,23 +55,29 @@ import com.uas.appcontact.ui.activity.MyFriendActivity;
|
|
|
import com.uas.appcontact.ui.activity.NewFriendActivity;
|
|
|
import com.uas.appcontact.ui.activity.PlatContactAddPeopleActivity;
|
|
|
import com.uas.appcontact.ui.activity.UserSearchActivity;
|
|
|
+import com.yalantis.phoenix.PullToRefreshView;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
|
|
|
+import se.emilsjolander.stickylistheaders.StickyListHeadersListView;
|
|
|
+
|
|
|
/**
|
|
|
* Created by Bitliker on 2017/9/1.
|
|
|
*/
|
|
|
|
|
|
public class ContactsFragment extends EasyFragment
|
|
|
implements SideBar.OnTouchingLetterChangedListener
|
|
|
- , PullToRefreshBase.OnRefreshListener<ListView>
|
|
|
+ , PullToRefreshView.OnRefreshListener
|
|
|
, AdapterView.OnItemClickListener
|
|
|
, View.OnClickListener
|
|
|
, ContactsManager.OnEmployListener {
|
|
|
|
|
|
- private PullToRefreshListView refreshListView;
|
|
|
+ private StickyListHeadersListView refreshListView;
|
|
|
+ private PullToRefreshView mPullToRefreshView;
|
|
|
+
|
|
|
+
|
|
|
private TextView dialogTV;
|
|
|
private TextView uuRedTag;
|
|
|
private SideBar sidebar;
|
|
|
@@ -157,18 +163,18 @@ public class ContactsFragment extends EasyFragment
|
|
|
showDatas = new ArrayList<>();
|
|
|
allDatas = new ArrayList<>();
|
|
|
userId = MyApplication.getInstance().getLoginUserId();
|
|
|
- refreshListView = (PullToRefreshListView) findViewById(R.id.refreshListView);
|
|
|
+ refreshListView = (StickyListHeadersListView) findViewById(R.id.pull_refresh_list);
|
|
|
+ mPullToRefreshView = (PullToRefreshView) findViewById(R.id.contact_ptrv);
|
|
|
dialogTV = (TextView) findViewById(R.id.dialogTV);
|
|
|
sidebar = (SideBar) findViewById(R.id.sidebar);
|
|
|
sidebar.setTextView(dialogTV);
|
|
|
sidebar.setOnTouchingLetterChangedListener(this);
|
|
|
- refreshListView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
|
|
|
- refreshListView.setOnRefreshListener(this);
|
|
|
refreshListView.setOnItemClickListener(this);
|
|
|
comparator = new BaseComparator();
|
|
|
initHeaderView();
|
|
|
adapter = new FriendSortAdapter(ct, showDatas);
|
|
|
refreshListView.setAdapter(adapter);
|
|
|
+ mPullToRefreshView.setOnRefreshListener(this);
|
|
|
loadData();
|
|
|
}
|
|
|
|
|
|
@@ -210,7 +216,7 @@ public class ContactsFragment extends EasyFragment
|
|
|
|
|
|
private void initHeaderView() {
|
|
|
View headview = LayoutInflater.from(ct).inflate(R.layout.header_fragment_contact, null);
|
|
|
- refreshListView.getRefreshableView().addHeaderView(headview);
|
|
|
+ refreshListView.addHeaderView(headview);
|
|
|
voiceSearchView = (VoiceSearchView) headview.findViewById(R.id.voiceSearchView);
|
|
|
headview.findViewById(R.id.company).setOnClickListener(this);//企业结构
|
|
|
headview.findViewById(R.id.group).setOnClickListener(this);//商务群
|
|
|
@@ -230,8 +236,8 @@ public class ContactsFragment extends EasyFragment
|
|
|
|
|
|
|
|
|
void showLoading() {
|
|
|
- if (refreshListView!=null) {
|
|
|
- if (!refreshListView.isRefreshing() && isVisible) {
|
|
|
+ if (mPullToRefreshView != null) {
|
|
|
+ if (!mPullToRefreshView.isRefreshing() && isVisible) {
|
|
|
progressDialog.show();
|
|
|
}
|
|
|
}
|
|
|
@@ -241,9 +247,9 @@ public class ContactsFragment extends EasyFragment
|
|
|
if (progressDialog != null && progressDialog.isShowing()) {
|
|
|
progressDialog.dismiss();
|
|
|
}
|
|
|
- if (refreshListView!=null) {
|
|
|
- if (refreshListView.isRefreshing()) {
|
|
|
- refreshListView.onRefreshComplete();
|
|
|
+ if (mPullToRefreshView != null) {
|
|
|
+ if (mPullToRefreshView.isRefreshing()) {
|
|
|
+ mPullToRefreshView.setRefreshing(false);
|
|
|
}
|
|
|
}
|
|
|
}//关闭刷新
|
|
|
@@ -264,10 +270,10 @@ public class ContactsFragment extends EasyFragment
|
|
|
// 该字母首次出现的位置
|
|
|
int position = adapter.getPositionForSection(s.charAt(0));
|
|
|
if (position != -1) {
|
|
|
- refreshListView.getRefreshableView().setSelection(position);
|
|
|
+ refreshListView.setSelection(position);
|
|
|
}
|
|
|
if ("↑".equals(s)) {
|
|
|
- refreshListView.getRefreshableView().setSelection(0);
|
|
|
+ refreshListView.setSelection(0);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -277,9 +283,9 @@ public class ContactsFragment extends EasyFragment
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void onRefresh(PullToRefreshBase<ListView> refreshView) {
|
|
|
+ public void onRefresh() {
|
|
|
if ("1".equals(CommonUtil.getUserRole())) {
|
|
|
- refreshListView.setRefreshing(false);
|
|
|
+ mPullToRefreshView.setRefreshing(false);
|
|
|
dimssLoading();
|
|
|
} else {
|
|
|
ContactsManager.getInstance().loadContactByNet(this);
|
|
|
@@ -387,6 +393,7 @@ public class ContactsFragment extends EasyFragment
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
+ mPullToRefreshView.setRefreshing(false);
|
|
|
if (adapter == null) return;
|
|
|
adapter.setData(showDatas);
|
|
|
dimssLoading();
|
|
|
@@ -394,6 +401,12 @@ public class ContactsFragment extends EasyFragment
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void onResume() {
|
|
|
+ super.onResume();
|
|
|
+ mPullToRefreshView.setRefreshing(false, false);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 将Rep转化为Friend对象
|
|
|
*
|