|
|
@@ -0,0 +1,183 @@
|
|
|
+package com.xzjmyk.pm.activity.ui.erp.activity.oa;
|
|
|
+
|
|
|
+import android.content.Intent;
|
|
|
+import android.os.Bundle;
|
|
|
+import android.os.Parcel;
|
|
|
+import android.os.Parcelable;
|
|
|
+import android.support.v7.widget.LinearLayoutManager;
|
|
|
+import android.support.v7.widget.RecyclerView;
|
|
|
+import android.util.Log;
|
|
|
+import android.view.LayoutInflater;
|
|
|
+import android.view.Menu;
|
|
|
+import android.view.MenuItem;
|
|
|
+import android.view.View;
|
|
|
+import android.view.ViewGroup;
|
|
|
+import android.widget.CheckBox;
|
|
|
+import android.widget.TextView;
|
|
|
+
|
|
|
+import com.baidu.cyberplayer.utils.T;
|
|
|
+import com.xzjmyk.pm.activity.R;
|
|
|
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 选择列表
|
|
|
+ * getIntent参数列表
|
|
|
+ * 1.actionbar主题 action
|
|
|
+ * 2.列表数据(与type比配) data (1.从练过来界面获取List<String> 2.从网络获取 Map<String,Object> (url:urlAction param:参数) )
|
|
|
+ * 3.获取数据方式 type(1.从练过来界面获取 2.从网络获取)
|
|
|
+ * 4.是否单选(默认是) single(boolean)
|
|
|
+ * 返回 resultcode 0x20
|
|
|
+ * create by gongpengming 2016/09/19
|
|
|
+ */
|
|
|
+public class SelectListActivity extends BaseActivity {
|
|
|
+ private RecyclerView recycler;
|
|
|
+ private List<Bean> list;
|
|
|
+ private ListAdapter adapter;
|
|
|
+ private boolean isSingle = true;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onCreate(Bundle savedInstanceState) {
|
|
|
+ Log.i("gongpengming", "onCreate");
|
|
|
+ setActionTheme();
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
+ initIntent();
|
|
|
+ Log.i("gongpengming", "onCreate2");
|
|
|
+ setContentView(R.layout.activity_select_list);
|
|
|
+ init();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initIntent() {
|
|
|
+ Intent intent = getIntent();
|
|
|
+ if (intent == null) return;
|
|
|
+ isSingle = intent.getBooleanExtra("single", true);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
+ if (!isSingle) {
|
|
|
+ getMenuInflater().inflate(R.menu.menu_visit_save, menu);
|
|
|
+ }
|
|
|
+ return super.onCreateOptionsMenu(menu);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
+ if (!isSingle) {
|
|
|
+ endActivity();
|
|
|
+ }
|
|
|
+ return super.onOptionsItemSelected(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ /*根据链过来的参数设置该界面actionbar的样式货颜色*/
|
|
|
+ private void setActionTheme() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /*结束选定退出时候*/
|
|
|
+ private void endActivity() {
|
|
|
+ List<Bean> l = new ArrayList<>();
|
|
|
+ if (!ListUtils.isEmpty(list)) {
|
|
|
+ for (Bean e : list) {
|
|
|
+ if (e.isClick) {
|
|
|
+ l.add(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Intent intent = new Intent();
|
|
|
+// intent.putParcelableArrayListExtra("data", l);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void init() {
|
|
|
+ recycler = (RecyclerView) findViewById(R.id.recycler);
|
|
|
+ adapter = new ListAdapter();
|
|
|
+ RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(ct);
|
|
|
+ recycler.setLayoutManager(layoutManager);
|
|
|
+ recycler.setAdapter(adapter);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private class ListAdapter extends RecyclerView.Adapter<ListAdapter.ViewHolder> {
|
|
|
+ private List<Bean> list;
|
|
|
+
|
|
|
+ private ListAdapter() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<Bean> getList() {
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setList(List<Bean> list) {
|
|
|
+ this.list = list;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
|
|
+ View view = LayoutInflater.from(ct).inflate(R.layout.select_list_item, parent, false);
|
|
|
+ return new ViewHolder(view);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onBindViewHolder(ViewHolder holder, int position) {
|
|
|
+ Bean bean = list.get(position);
|
|
|
+ holder.select_scb.setChecked(bean.isClick);
|
|
|
+ holder.name_tv.setText(bean.name);
|
|
|
+ }
|
|
|
+
|
|
|
+ class ViewHolder extends RecyclerView.ViewHolder {
|
|
|
+ CheckBox select_scb;
|
|
|
+ TextView name_tv;
|
|
|
+
|
|
|
+ public ViewHolder(View itemView) {
|
|
|
+ super(itemView);
|
|
|
+ select_scb = (CheckBox) itemView.findViewById(R.id.select_scb);
|
|
|
+ name_tv = (TextView) itemView.findViewById(R.id.name_tv);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int getItemCount() {
|
|
|
+ return ListUtils.isEmpty(list) ? 0 : list.size();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ class Bean implements Parcelable {
|
|
|
+ String name;
|
|
|
+ T t;
|
|
|
+ boolean isClick = false;
|
|
|
+
|
|
|
+ protected Bean(Parcel in) {
|
|
|
+ name = in.readString();
|
|
|
+ isClick = in.readByte() != 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ public final Creator<Bean> CREATOR = new Creator<Bean>() {
|
|
|
+ @Override
|
|
|
+ public Bean createFromParcel(Parcel in) {
|
|
|
+ return new Bean(in);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Bean[] newArray(int size) {
|
|
|
+ return new Bean[size];
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int describeContents() {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void writeToParcel(Parcel parcel, int i) {
|
|
|
+ parcel.writeString(name);
|
|
|
+ parcel.writeByte((byte) (isClick ? 1 : 0));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|