lizhanwei
2020-04-28 18d8f430579cca24f26fc83692a785267d0133c1
app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java
@@ -16,6 +16,7 @@
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
@@ -70,7 +71,8 @@
    private static final int HIGHLEVEL = 2;
    private static final int MAINBOARD = 3;
    private ArrayAdapter adapter1;
    private ArrayAdapter adapter2;
    private String[] arr_strs;
@@ -94,6 +96,7 @@
    private void initView(View view) {
        arr_strs = getResources().getStringArray(R.array.signals_name);
        mToobar = view.findViewById(R.id.toolbar);
        linearLayout = view.findViewById(R.id.ll_container);
        mToobar.setTitle("信号配置");
@@ -188,19 +191,57 @@
                });
                convertView.setTag(viewHolder);
                viewHolder.checkBox1.setTag(signalConfiglist.get(position));
                viewHolder.checkBox3.setTag(signalConfiglist.get(position));
                adapter1 = new ArrayAdapter<String>(_mActivity,R.layout.spinner_item,arr_strs);
                adapter1.setDropDownViewResource(R.layout.dropdown_stytle);
                adapter2 = new ArrayAdapter<String>(_mActivity,R.layout.spinner_item,arr_strs);
                adapter2.setDropDownViewResource(R.layout.dropdown_stytle);
                viewHolder.editText1.setAdapter(adapter1);
                viewHolder.editText2.setAdapter(adapter2);
                viewHolder.editText1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                        int index = (int) viewHolder.editText1.getTag();
                        Log.i(TAG,String.format("Spinner1 index=%d,fun_id=%d对应的信号名称=%s",index,pos
                                ,arr_strs[pos]));
//                        signalConfigViewModel.updateindex(index,pos);
                    }
                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {
                    }
                });
                viewHolder.editText2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                        int index = (int) viewHolder.editText2.getTag();
                        Log.i(TAG,String.format("Spinner2 index=%d,fun_id=%d对应的信号名称=%s",index,pos
                                ,arr_strs[pos]));
//                        signalConfigViewModel.updateindex(index,pos);
                    }
                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {
                    }
                });
                convertView.setTag(viewHolder);
            }else {
                viewHolder = (ViewHolder) convertView.getTag();
                viewHolder.checkBox1.setTag(signalConfiglist.get(position));
                viewHolder.checkBox3.setTag(signalConfiglist.get(position));
            }
            viewHolder.editText1.setTag(position*2+1);
            viewHolder.editText2.setTag((2*(1+position)));
            final SignalConfigBean signalConfigItem = getItem(position);
@@ -211,13 +252,14 @@
            CThreadPoolExecutor.runInBackground(new Runnable() {
                @Override
                public void run() {
                    String signName1=WorkRoomDataBase.getWorkRoomDataBase(getActivity()).getSignalConfigDao().getSignalName(position*2+1);
                    String s2=WorkRoomDataBase.getWorkRoomDataBase(getActivity()).getSignalConfigDao().getSignalName((position+1)*2);
                    getActivity().runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Log.i(TAG,"CThreadPoolExecutor position="+position+ " s1="+signName1+" s2="+s2);
                            viewHolder.editText1.setSelection(getSigal2Pos(signName1));
                            viewHolder.editText2.setSelection(getSigal2Pos(s2));
                        }
@@ -251,34 +293,7 @@
                editText2 = convertView.findViewById(R.id.et_signal2_port);
                editText1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                        int pos = (int) editText1.getTag();
                        Log.i(TAG,String.format("Spinner1 pos=%d,position=%d对应的信号名称=%s",pos,position
                                ,arr_strs[position]));
                        signalConfigViewModel.updateindex(pos,position);
                    }
                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {
                    }
                });
                editText2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                        int pos = (int) editText2.getTag();
                        Log.i(TAG,String.format("Spinner2 pos=%d,position=%d对应的信号名称=%s",pos,position
                        ,arr_strs[position]));
                        signalConfigViewModel.updateindex(pos,position);
                    }
                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {
                    }
                });
@@ -292,7 +307,6 @@
    private int getSigal2Pos(String signalConfigItem) {
        for (int i = 0; i < arr_strs.length; i++) {
            if (arr_strs[i].equals(signalConfigItem)){
//                Log.i(TAG,"信号名称="+signalConfigItem+" i="+i);
                return i;
            }else{
                continue;