|
|
@@ -23,6 +23,7 @@ import com.xzjmyk.pm.activity.R;
|
|
|
import com.xzjmyk.pm.activity.ui.base.BaseActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.entity.EditChangeListener;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.PopupWindowHelper;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.util.oa.http.OAHttpHelper;
|
|
|
@@ -51,22 +52,6 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
|
setContentView(R.layout.activity_select_remark);
|
|
|
- recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
|
|
|
- EditText search_edit = (EditText) findViewById(R.id.search_edit);
|
|
|
- search_edit.addTextChangedListener(new EditChangeListener() {
|
|
|
- @Override
|
|
|
- public void afterTextChanged(Editable editable) {
|
|
|
- String input = editable.toString();
|
|
|
- if (ListUtils.isEmpty(beanList)) return;
|
|
|
- List<Bean> beans = new ArrayList<>();
|
|
|
- for (Bean e : beanList) {
|
|
|
- if (StringUtils.isInclude(e.name, input))
|
|
|
- beans.add(e);
|
|
|
- }
|
|
|
- adapter.setBeanList(beans);
|
|
|
- adapter.notifyDataSetChanged();
|
|
|
- }
|
|
|
- });
|
|
|
initView();
|
|
|
initData();
|
|
|
}
|
|
|
@@ -135,16 +120,30 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
|
|
|
|
|
|
|
|
|
private void initView() {
|
|
|
+ recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
|
|
|
recyclerview.setLayoutManager(new LinearLayoutManager(this));
|
|
|
RecycleViewDivider viewDivider = new RecycleViewDivider(this, LinearLayout.HORIZONTAL, 1, getResources().getColor(R.color.gray_light));
|
|
|
recyclerview.addItemDecoration(viewDivider);
|
|
|
adapter = new RecycleAdapter(beanList);
|
|
|
recyclerview.setAdapter(adapter);
|
|
|
+ EditText search_edit = (EditText) findViewById(R.id.search_edit);
|
|
|
+ search_edit.addTextChangedListener(new EditChangeListener() {
|
|
|
+ @Override
|
|
|
+ public void afterTextChanged(Editable s) {
|
|
|
+ String input = s.toString();
|
|
|
+ if (ListUtils.isEmpty(beanList)) return;
|
|
|
+ List<Bean> beans = new ArrayList<>();
|
|
|
+ for (Bean e : beanList) {
|
|
|
+ if (StringUtils.isInclude(e.name, input))
|
|
|
+ beans.add(e);
|
|
|
+ }
|
|
|
+ setBean2Adapter(beans);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
private void initData() {
|
|
|
isRemark = getIntent() == null || !getIntent().getBooleanExtra("isContact", false);
|
|
|
-
|
|
|
String title = getIntent() == null ? "" : getIntent().getStringExtra("title");
|
|
|
if (!StringUtils.isEmpty(title)) getSupportActionBar().setTitle(title);
|
|
|
beanList = new ArrayList<>();
|
|
|
@@ -200,46 +199,17 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
|
|
|
OAHttpHelper.getInstance().requestHttp(request, this);
|
|
|
}
|
|
|
|
|
|
- private void handlerData(JSONArray array) {
|
|
|
- if (ListUtils.isEmpty(array)) return;
|
|
|
- Bean bean = null;
|
|
|
- for (int i = 0; i < array.size(); i++) {
|
|
|
- bean = new Bean();
|
|
|
- bean.type = 1;
|
|
|
- bean.name = array.getJSONObject(i).getString("BS_NAME");
|
|
|
- beanList.add(beanList.size(), bean);
|
|
|
- }
|
|
|
- adapter.setBeanList(beanList);
|
|
|
- adapter.notifyDataSetChanged();
|
|
|
- }
|
|
|
-
|
|
|
- private void handlerContactData(JSONArray array) {
|
|
|
- if (ListUtils.isEmpty(array)) return;
|
|
|
- Bean bean = null;
|
|
|
- for (int i = 0; i < array.size(); i++) {
|
|
|
- bean = new Bean();
|
|
|
- bean.type = 1;
|
|
|
- bean.name = array.getJSONObject(i).getString("ct_name");
|
|
|
- beanList.add(bean);
|
|
|
- }
|
|
|
- adapter.setBeanList(beanList);
|
|
|
- adapter.notifyDataSetChanged();
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public void result(int what, boolean isJSON, String message, Bundle bundle) {
|
|
|
progressDialog.dismiss();
|
|
|
if (!isJSON) return;
|
|
|
JSONObject object = JSON.parseObject(message);
|
|
|
- JSONArray array = null;
|
|
|
switch (what) {
|
|
|
case LOAD_NET:
|
|
|
- array = object.getJSONArray("stages");
|
|
|
- handlerData(array);
|
|
|
- break;
|
|
|
case LOAD_COMTACT:
|
|
|
- array = object.getJSONArray("datalist");
|
|
|
- handlerContactData(array);
|
|
|
+ JSONArray array = OACheckUtil.getJsonArray(object, "stages", "datalist");
|
|
|
+ handlerData(array);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
@@ -252,8 +222,31 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
|
|
|
ToastUtil.showToast(ct, message);
|
|
|
}
|
|
|
|
|
|
+ private void handlerData(JSONArray array) {
|
|
|
+ if (!ListUtils.isEmpty(array)) {
|
|
|
+ Bean bean = null;
|
|
|
+ JSONObject object = null;
|
|
|
+ for (int i = 0; i < array.size(); i++) {
|
|
|
+ object = array.getJSONObject(i);
|
|
|
+ bean = new Bean();
|
|
|
+ bean.type = 1;
|
|
|
+ bean.name = OACheckUtil.getJson2Text(object, "BS_NAME", "ct_name");
|
|
|
+ beanList.add(beanList.size(), bean);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ setBean2Adapter(beanList);
|
|
|
+ }
|
|
|
|
|
|
- class RecycleAdapter extends RecyclerView.Adapter<RecycleAdapter.ViewHolder> {
|
|
|
+ private void setBean2Adapter(List<Bean> beans) {
|
|
|
+ if (adapter == null) {
|
|
|
+ adapter = new RecycleAdapter(beans);
|
|
|
+ recyclerview.setAdapter(adapter);
|
|
|
+ } else {
|
|
|
+ adapter.setBeanList(beans);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ class RecycleAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
|
|
private List<Bean> beanList;
|
|
|
|
|
|
public RecycleAdapter(List<Bean> beanList) {
|
|
|
@@ -265,37 +258,63 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
|
|
|
}
|
|
|
|
|
|
public void setBeanList(List<Bean> beanList) {
|
|
|
- this.beanList = beanList;
|
|
|
+ if (ListUtils.isEmpty(beanList)) {
|
|
|
+ this.beanList = new ArrayList<>();
|
|
|
+ Bean bean = new Bean();
|
|
|
+ bean.type = 3;
|
|
|
+ bean.name = getString(R.string.not_message_and_add);
|
|
|
+ this.beanList.add(bean);
|
|
|
+ } else {
|
|
|
+ this.beanList = beanList;
|
|
|
+ }
|
|
|
+ notifyDataSetChanged();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
|
|
- View view = LayoutInflater.from(ct).inflate(R.layout.item_remark, parent, false);
|
|
|
- return new ViewHolder(view);
|
|
|
+ public int getItemViewType(int position) {
|
|
|
+ return this.beanList.get(position).type;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
- public void onBindViewHolder(ViewHolder holder, final int position) {
|
|
|
- if (beanList.get(position).type == 2) {//输入
|
|
|
- holder.et.setVisibility(View.VISIBLE);
|
|
|
- holder.tv.setVisibility(View.GONE);
|
|
|
- } else if (beanList.get(position).type == 1) {//显示
|
|
|
- holder.tv.setVisibility(View.VISIBLE);
|
|
|
- holder.et.setVisibility(View.GONE);
|
|
|
- holder.tv.setText(StringUtils.isEmpty(beanList.get(position).name) ? "" : beanList.get(position).name);
|
|
|
+ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
|
|
+ if (viewType == 3) {
|
|
|
+ View view = LayoutInflater.from(ct).inflate(R.layout.item_remark_empty, parent, false);
|
|
|
+ return new EmptyHolder(view);
|
|
|
+ } else {
|
|
|
+ View view = LayoutInflater.from(ct).inflate(R.layout.item_remark, parent, false);
|
|
|
+ return new ViewHolder(view);
|
|
|
}
|
|
|
- holder.itemView.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View view) {
|
|
|
- String message = beanList.get(position).name;
|
|
|
- Intent intent = new Intent();
|
|
|
- intent.putExtra("data", message);
|
|
|
- setResult(0x20, intent);
|
|
|
- finish();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
|
|
|
+ if (holder instanceof ViewHolder) {
|
|
|
+ ViewHolder h = (ViewHolder) holder;
|
|
|
+ if (beanList.get(position).type == 2) {//输入
|
|
|
+ h.et.setVisibility(View.VISIBLE);
|
|
|
+ h.tv.setVisibility(View.GONE);
|
|
|
+ } else if (beanList.get(position).type == 1) {//显示
|
|
|
+ h.tv.setVisibility(View.VISIBLE);
|
|
|
+ h.et.setVisibility(View.GONE);
|
|
|
+ h.tv.setText(StringUtils.isEmpty(beanList.get(position).name) ? "" : beanList.get(position).name);
|
|
|
}
|
|
|
- });
|
|
|
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View view) {
|
|
|
+ String message = beanList.get(position).name;
|
|
|
+ Intent intent = new Intent();
|
|
|
+ intent.putExtra("data", message);
|
|
|
+ setResult(0x20, intent);
|
|
|
+ finish();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else if (holder instanceof EmptyHolder) {
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public int getItemCount() {
|
|
|
return ListUtils.isEmpty(beanList) ? 0 : beanList.size();
|
|
|
@@ -311,10 +330,19 @@ public class SelectRemarkActivity extends BaseActivity implements OnHttpResultLi
|
|
|
et = (EditText) itemView.findViewById(R.id.et);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ class EmptyHolder extends RecyclerView.ViewHolder {
|
|
|
+ TextView empty_tv;
|
|
|
+
|
|
|
+ public EmptyHolder(View itemView) {
|
|
|
+ super(itemView);
|
|
|
+ empty_tv = (TextView) itemView.findViewById(R.id.empty_tv);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
class Bean {
|
|
|
String name;
|
|
|
- int type;
|
|
|
+ int type;//1.显示 2.输入 3.空数据
|
|
|
}
|
|
|
}
|