|
|
@@ -4,15 +4,17 @@ import android.content.Intent;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
|
import android.os.Message;
|
|
|
+import android.text.Editable;
|
|
|
import android.text.TextUtils;
|
|
|
+import android.text.TextWatcher;
|
|
|
import android.util.Log;
|
|
|
-import android.view.LayoutInflater;
|
|
|
import android.view.Menu;
|
|
|
import android.view.MenuItem;
|
|
|
-import android.view.View;
|
|
|
import android.widget.ListView;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.handmark.pulltorefresh.library.PullToRefreshBase;
|
|
|
+import com.handmark.pulltorefresh.library.PullToRefreshListView;
|
|
|
import com.xzjmyk.pm.activity.MyApplication;
|
|
|
import com.xzjmyk.pm.activity.R;
|
|
|
import com.xzjmyk.pm.activity.adapter.WorkLogAdapter;
|
|
|
@@ -20,8 +22,8 @@ import com.xzjmyk.pm.activity.bean.circle.Comment;
|
|
|
import com.xzjmyk.pm.activity.bean.circle.PublicMessage;
|
|
|
import com.xzjmyk.pm.activity.ui.base.BaseActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
|
|
|
+import com.xzjmyk.pm.activity.view.ClearEditText;
|
|
|
import com.xzjmyk.pm.activity.view.PMsgBottomView;
|
|
|
-import com.xzjmyk.pm.activity.view.SuperSwipeRefreshLayout;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
@@ -36,9 +38,8 @@ import java.util.regex.Pattern;
|
|
|
public class WorkLogsActivity extends BaseActivity {
|
|
|
private static final int PAGER_SIZE = 10;
|
|
|
private WorkLogsActivity ct;
|
|
|
- private SuperSwipeRefreshLayout root_view;
|
|
|
- private ListView context_rv;
|
|
|
private List<PublicMessage> mMessages;//消息对象
|
|
|
+ private List<PublicMessage> messages;//消息对象
|
|
|
private PMsgBottomView bottom_view;
|
|
|
private CommentItemChche itemChche;
|
|
|
private static int requestCode = 0x21;
|
|
|
@@ -54,7 +55,19 @@ public class WorkLogsActivity extends BaseActivity {
|
|
|
String message = msg.getData().getString("result");
|
|
|
switch (msg.what) {
|
|
|
case LOAD_WHAT:
|
|
|
- mMessages = JSON.parseArray(JSON.parseObject(message).getJSONArray("data").toString(), PublicMessage.class);
|
|
|
+ if (mMessages == null) {
|
|
|
+ mMessages = new ArrayList<>();
|
|
|
+ }
|
|
|
+ if (messages == null) {
|
|
|
+ messages = new ArrayList<>();
|
|
|
+ }
|
|
|
+ if (isRefersh) {
|
|
|
+ mMessages.clear();
|
|
|
+ messages.clear();
|
|
|
+ }
|
|
|
+ context_rv.setRefreshing(false);
|
|
|
+ mMessages.addAll(JSON.parseArray(JSON.parseObject(message).getJSONArray("data").toString(), PublicMessage.class));
|
|
|
+ messages.addAll(JSON.parseArray(JSON.parseObject(message).getJSONArray("data").toString(), PublicMessage.class));
|
|
|
upDataUi();
|
|
|
break;
|
|
|
case ADD_WHAT:
|
|
|
@@ -71,6 +84,8 @@ public class WorkLogsActivity extends BaseActivity {
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
+ private ClearEditText search_edit;
|
|
|
+ private PullToRefreshListView context_rv;
|
|
|
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
@@ -102,34 +117,36 @@ public class WorkLogsActivity extends BaseActivity {
|
|
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
if (requestCode == this.requestCode) {
|
|
|
if (resultCode == this.resultCode) {
|
|
|
- requestSpace();
|
|
|
+ requestSpace(true);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//获取数据后更新界面
|
|
|
private void upDataUi() {
|
|
|
- mAdapter.setData(mMessages);
|
|
|
+ mAdapter.setData(messages);
|
|
|
mAdapter.notifyDataSetChanged();
|
|
|
}
|
|
|
|
|
|
- private static void getStrings() {
|
|
|
- String str = "rrwerqq84461376qqasfdasdfrrwerqq84461377qqasfdasdaa654645aafrrwerqq84461378qqasfdaa654646aaasdfrrwerqq84461379qqasfdasdfrrwerqq84461376qqasfdasdf";
|
|
|
- Pattern p = Pattern.compile("qq(.*?)qq");
|
|
|
- Matcher m = p.matcher(str);
|
|
|
- ArrayList<String> strs = new ArrayList<String>();
|
|
|
- while (m.find()) {
|
|
|
- strs.add(m.group(1));
|
|
|
- }
|
|
|
- for (String s : strs){
|
|
|
- Log.i("gongepngming",s);
|
|
|
- }
|
|
|
+ //正则
|
|
|
+ private static boolean getResult(String text, String str) {
|
|
|
+ Pattern p = Pattern.compile(str);
|
|
|
+ Matcher m = p.matcher(text);
|
|
|
+// ArrayList<String> strs = new ArrayList<String>();
|
|
|
+ return m.find();
|
|
|
+// while (m.find()) {
|
|
|
+// strs.add(m.group(1));
|
|
|
+// }
|
|
|
+// for (String s : strs) {
|
|
|
+// Log.i("gongepngming", s);
|
|
|
+// }
|
|
|
}
|
|
|
+
|
|
|
private void initView() {
|
|
|
bottom_view = (PMsgBottomView) findViewById(R.id.bottom_view);
|
|
|
- root_view = (SuperSwipeRefreshLayout) findViewById(R.id.root_view);
|
|
|
- context_rv = (ListView) findViewById(R.id.context_rv);
|
|
|
- root_view.setHeaderView(getHeaderView());
|
|
|
+ search_edit = (ClearEditText) findViewById(R.id.search_edit);
|
|
|
+ context_rv = (PullToRefreshListView) findViewById(R.id.context_rv);
|
|
|
+ context_rv.setMode(PullToRefreshBase.Mode.BOTH);
|
|
|
bottom_view.setPMsgBottomListener(new PMsgBottomView.PMsgBottomListener() {
|
|
|
@Override
|
|
|
public void sendText(String text) {
|
|
|
@@ -140,25 +157,42 @@ public class WorkLogsActivity extends BaseActivity {
|
|
|
bottom_view.hide();
|
|
|
}
|
|
|
});
|
|
|
- //下拉刷新,上拉加载控件
|
|
|
- root_view.setOnPullRefreshListener(new SuperSwipeRefreshLayout.OnPullRefreshListener() {
|
|
|
+ search_edit.addTextChangedListener(new TextWatcher() {
|
|
|
+ @Override
|
|
|
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
- public void onRefresh() {
|
|
|
- //TODO 开始刷新
|
|
|
- Log.i("gongpengming", "onRefresh");
|
|
|
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void onPullDistance(int distance) {
|
|
|
- //TODO 下拉距离
|
|
|
- Log.i("gongpengming", "onPullDistance=" + distance);
|
|
|
+ public void afterTextChanged(Editable editable) {
|
|
|
+ String strChche = editable.toString();
|
|
|
+ //TODO 正则
|
|
|
+ messages.clear();
|
|
|
|
|
|
+ for (PublicMessage e : mMessages) {
|
|
|
+ boolean b = getResult(e.getNickName() + e.getBody().getText(), strChche);
|
|
|
+ if (b) {
|
|
|
+ messages.add(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mAdapter.setData(messages);
|
|
|
+ mAdapter.notifyDataSetChanged();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ context_rv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
|
|
|
+ @Override
|
|
|
+ public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
|
|
|
+ requestSpace(true);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void onPullEnable(boolean enable) {
|
|
|
- //TODO 下拉过程中,下拉的距离是否足够出发刷新
|
|
|
- Log.i("gongpengming", "enable=" + enable);
|
|
|
+ public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
|
|
|
+ requestSpace(false);
|
|
|
}
|
|
|
});
|
|
|
if (mMessages == null)
|
|
|
@@ -182,31 +216,23 @@ public class WorkLogsActivity extends BaseActivity {
|
|
|
}
|
|
|
|
|
|
private void initData() {
|
|
|
- requestSpace();
|
|
|
+ requestSpace(true);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获取头视图
|
|
|
- *
|
|
|
- * @return
|
|
|
- */
|
|
|
- private View getHeaderView() {
|
|
|
- View headerView = LayoutInflater.from(ct).inflate(R.layout.space_cover_view, null);
|
|
|
- //TODO 对于头视图的操作
|
|
|
- return headerView;
|
|
|
- }
|
|
|
+ private boolean isRefersh = false;
|
|
|
|
|
|
/**
|
|
|
* 获取工作日志(朋友圈)数据接口
|
|
|
*/
|
|
|
- private void requestSpace() {
|
|
|
+ private void requestSpace(boolean isRefersh) {
|
|
|
+ this.isRefersh = isRefersh;
|
|
|
//参数
|
|
|
HashMap<String, Object> params = new HashMap<>();
|
|
|
params.put("access_token", MyApplication.getInstance().mAccessToken);
|
|
|
params.put("userId", MyApplication.getInstance().mLoginUser.getUserId());
|
|
|
params.put("flag", PublicMessage.FLAG_APPLY_JOB);
|
|
|
String messageId = null;
|
|
|
- if (mMessages.size() > 0) {
|
|
|
+ if (!isRefersh && mMessages.size() > 0) {//不是
|
|
|
messageId = mMessages.get(mMessages.size() - 1).getMessageId();
|
|
|
}
|
|
|
if (!TextUtils.isEmpty(messageId)) {
|