|
|
@@ -5,6 +5,8 @@ import android.content.Intent;
|
|
|
import android.os.Handler;
|
|
|
import android.os.Message;
|
|
|
import android.os.Bundle;
|
|
|
+import android.text.Editable;
|
|
|
+import android.text.TextWatcher;
|
|
|
import android.util.Log;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.View;
|
|
|
@@ -12,6 +14,8 @@ import android.view.ViewGroup;
|
|
|
import android.widget.AdapterView;
|
|
|
import android.widget.BaseAdapter;
|
|
|
import android.widget.Button;
|
|
|
+import android.widget.Filter;
|
|
|
+import android.widget.Filterable;
|
|
|
import android.widget.LinearLayout;
|
|
|
import android.widget.ListView;
|
|
|
import android.widget.TextView;
|
|
|
@@ -30,6 +34,8 @@ import com.xzjmyk.pm.activity.ui.erp.activity.DbfindListActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.Constants;
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
|
|
|
+import com.xzjmyk.pm.activity.view.ClearEditText;
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
@@ -50,7 +56,8 @@ public class BusinessDetailActivty extends BaseActivity {
|
|
|
@ViewInject(R.id.list_business)
|
|
|
private PullToRefreshListView mlist;
|
|
|
private ArrayList<Business> mData = new ArrayList<Business>();
|
|
|
-
|
|
|
+ @ViewInject(R.id.search_edit)
|
|
|
+ private ClearEditText search_edit;
|
|
|
private String formCondition;
|
|
|
private String gridCondition;
|
|
|
private int page=1;
|
|
|
@@ -72,13 +79,13 @@ public class BusinessDetailActivty extends BaseActivity {
|
|
|
mlist.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
|
|
|
@Override
|
|
|
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
|
|
|
- page=1;
|
|
|
- sendHttpResquest(Constants.HTTP_SUCCESS_INIT,page);
|
|
|
+ page = 1;
|
|
|
+ sendHttpResquest(Constants.HTTP_SUCCESS_INIT, page);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
|
|
|
- sendHttpResquest(Constants.HTTP_SUCCESS_INIT,++page);
|
|
|
+ sendHttpResquest(Constants.HTTP_SUCCESS_INIT, ++page);
|
|
|
}
|
|
|
});
|
|
|
mlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
|
|
@@ -92,6 +99,27 @@ public class BusinessDetailActivty extends BaseActivity {
|
|
|
);
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ search_edit.addTextChangedListener(new TextWatcher() {
|
|
|
+ @Override
|
|
|
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
|
|
|
+ if (!StringUtils.isEmpty(search_edit.getText().toString())) {
|
|
|
+ mAdapter.getFilter().filter(search_edit.getText().toString());
|
|
|
+ } else {
|
|
|
+ mAdapter.getFilter().filter("");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void afterTextChanged(Editable s) {
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
int type;
|
|
|
private void initData() {
|
|
|
@@ -128,7 +156,7 @@ public class BusinessDetailActivty extends BaseActivity {
|
|
|
}
|
|
|
|
|
|
|
|
|
- private class BussinessDetailAdapter extends BaseAdapter {
|
|
|
+ private class BussinessDetailAdapter extends BaseAdapter implements Filterable {
|
|
|
private Context ct;
|
|
|
private ArrayList<Business> mdata = new ArrayList<>();
|
|
|
private LayoutInflater inflater;
|
|
|
@@ -199,13 +227,64 @@ public class BusinessDetailActivty extends BaseActivity {
|
|
|
if (mdata.get(position).getType() == 1) {
|
|
|
startActivity(new Intent(BusinessDetailActivty.this, BusinessDetailInfoActivity.class));
|
|
|
} else if (mdata.get(position).getType() == 2) {
|
|
|
- startActivityForResult(new Intent(ct, DbfindListActivity.class),1);
|
|
|
+ startActivityForResult(new Intent(ct, DbfindListActivity.class), 1);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
return convertView;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Filter getFilter() {
|
|
|
+ return new Filter() {
|
|
|
+ @Override
|
|
|
+ protected FilterResults performFiltering(CharSequence constraint) {
|
|
|
+ //过滤数据
|
|
|
+ FilterResults searchResults = new FilterResults();
|
|
|
+
|
|
|
+ if (constraint == null || constraint.length() == 0){
|
|
|
+ searchResults.values=mData;
|
|
|
+ searchResults.count=mData.size();
|
|
|
+ }else{
|
|
|
+ ArrayList<String> searchKey = new ArrayList<String>();
|
|
|
+ ArrayList<Business> newBusiness=new ArrayList<>();
|
|
|
+ for (Business business:mdata){
|
|
|
+ String num=business.getNum();
|
|
|
+ String name=business.getName();
|
|
|
+ String source=business.getSource();
|
|
|
+ String links=business.getPhone();
|
|
|
+ String remark=business.getNote();
|
|
|
+ String date=business.getDate();
|
|
|
+ if (num.contains(constraint)||name.contains(constraint)||source.contains(constraint)
|
|
|
+ ||links.contains(constraint)||remark.contains(constraint)||date.contains(constraint))
|
|
|
+ {
|
|
|
+ newBusiness.add(business);
|
|
|
+ }
|
|
|
+// searchKey.add(num);
|
|
|
+// searchKey.add(name);
|
|
|
+// searchKey.add(source);
|
|
|
+// searchKey.add(links);
|
|
|
+// searchKey.add(remark);
|
|
|
+// searchKey.add(date);
|
|
|
+ }
|
|
|
+ searchResults.values=newBusiness;
|
|
|
+ searchResults.count=newBusiness.size();
|
|
|
+ }
|
|
|
+ return searchResults;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void publishResults(CharSequence constraint, FilterResults results) {
|
|
|
+ //装配数据
|
|
|
+ mdata= (ArrayList<Business>) results.values;
|
|
|
+ if (mAdapter.getCount() == 0) {
|
|
|
+
|
|
|
+ }
|
|
|
+ notifyDataSetChanged();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
class ViewHolder {
|
|
|
int bc_id;
|
|
|
@@ -220,6 +299,8 @@ public class BusinessDetailActivty extends BaseActivity {
|
|
|
Button bt_event;
|
|
|
int type;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -259,7 +340,9 @@ public class BusinessDetailActivty extends BaseActivity {
|
|
|
// "bc_id":730
|
|
|
mAdapter = new BussinessDetailAdapter(ct, mData);
|
|
|
mlist.setAdapter(mAdapter);
|
|
|
- mlist.getRefreshableView().setSelection(mAdapter.getCount());
|
|
|
+ if (page!=1) {
|
|
|
+ mlist.getRefreshableView().setSelection(mAdapter.getCount());
|
|
|
+ }
|
|
|
mlist.onRefreshComplete();
|
|
|
break;
|
|
|
case Constants.APP_SOCKETIMEOUTEXCEPTION:
|