From da6d5f8a993c800bd02806609bec696a335f5bfa Mon Sep 17 00:00:00 2001 From: lizhanwei <Dana_Lee1016@126.com> Date: 星期三, 29 四月 2020 13:09:35 +0800 Subject: [PATCH] 完成信号配置功能 --- app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java | 100 +++++++++++++++++++++++++++++++------------------ 1 files changed, 63 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java index b25aa69..ae7b7a7 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java @@ -1,61 +1,41 @@ package safeluck.drive.evaluation.fragment; import android.content.Context; -import android.os.AsyncTask; import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.text.Editable; -import android.text.InputType; import android.text.TextUtils; -import android.text.TextWatcher; import android.util.Log; -import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; 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; import android.widget.CompoundButton; -import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; -import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.AppCompatSpinner; import androidx.appcompat.widget.Toolbar; -import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProviders; -import com.anyun.exam.lib.AYSdk; import com.anyun.exam.lib.MyLog; -import com.google.gson.Gson; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; -import java.util.Iterator; import java.util.List; -import java.util.Map; -import java.util.Set; import me.yokeyword.fragmentation.SupportFragment; -import safeluck.drive.evaluation.Constant; import safeluck.drive.evaluation.DB.WorkRoomDataBase; import safeluck.drive.evaluation.DB.signalConfigdb.SignalConfigViewModel; import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.bean.SignalConfigBean; -import safeluck.drive.evaluation.bean.SignalConfigRemote; import safeluck.drive.evaluation.util.CThreadPoolExecutor; -import safeluck.drive.evaluation.util.Utils; /** @@ -77,7 +57,7 @@ private List<SignalConfigBean> signalConfiglist =new ArrayList<>(); - List<SignalConfigRemote> list = new ArrayList<>();//瑕佸彂閫佺粰remoteservice鐨勪俊鍙烽厤缃紝鏈夊彲鑳藉彂涓嶅嚭鍘� + List<SingalConfig> list = new ArrayList<>();//瑕佸彂閫佺粰remoteservice鐨勪俊鍙烽厤缃紝鏈夊彲鑳藉彂涓嶅嚭鍘� private Toolbar mToobar; private ListView listView; private LinearLayout linearLayout; @@ -110,15 +90,8 @@ signalConfiglist.clear(); MyLog.i(TAG,"淇″彿閰嶇疆鍙戠敓鍙樺寲"); - for (int i = 0; i < singalConfigs.size(); i++) { - SignalConfigRemote signalConfigRemote = new SignalConfigRemote(); - signalConfigRemote.setFunc_id(i); - signalConfigRemote.setGpio_num(singalConfigs.get(i).getIndex()); - signalConfigRemote.setLevel(singalConfigs.get(i).getHighLevel()); - list.add(signalConfigRemote); - } - for (int i = 0; i < singalConfigs.size(); i++) { + for (int i = 0; i < singalConfigs.size(); i++) { SingalConfig singalConfig = singalConfigs.get(i); i++; if (i<singalConfigs.size()){ @@ -201,13 +174,41 @@ viewHolder.editText1.setAdapter(adapter1); viewHolder.editText2.setAdapter(adapter2); + + viewHolder.editText1.setTag(position*2+1); + viewHolder.editText2.setTag((2*(1+position))); + 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); + CThreadPoolExecutor.runInBackground(new Runnable() { + @Override + public void run() { + + int indexPre = WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getSignalName2Index(arr_strs[pos]); + int fun_id = WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getFun_idBySignalName(arr_strs[pos]); + Log.i(TAG,String.format("Spinner1 index=%d,fun_id=%d瀵瑰簲鐨勪俊鍙峰悕绉�=%s锛宨ndex" ,index,fun_id,arr_strs[pos])); + String siname=WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getSignalName(index); + int fun_idpRe= WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getFun_idBySignalName(siname); + Log.i(TAG,index+" "+siname+ " arr-Strs[pos]="+arr_strs[pos]+ " "+pos); + if (siname!=null&&siname.equals(arr_strs[pos])){ + + }else{ + Log.i(TAG,String.format("鎶�%s淇″彿鐨刬ndex=%d鏀逛负%d",siname,index,indexPre)); + Log.i(TAG,String.format("鎶�%s淇″彿鐨刬ndex=%d鏀逛负%d",arr_strs[pos],indexPre,index)); + WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().updateindex(indexPre,fun_idpRe); + WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().updateindex(index,fun_id); +// signalConfigViewModel.updateindex(indexPre,getSigal2Pos(siname)); + } + + Log.i(TAG,String.format("Spinner1 index=%d,fun_id=%d瀵瑰簲鐨勪俊鍙峰悕绉�=%s锛宨ndex" + + "pre=%d,indexpreName=%s",index,pos + ,arr_strs[pos],indexPre,siname)); +// signalConfigViewModel.updateindex(index,pos); + } + }); + } @Override @@ -219,9 +220,32 @@ @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); + CThreadPoolExecutor.runInBackground(new Runnable() { + @Override + public void run() { + + int indexPre = WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getSignalName2Index(arr_strs[pos]); + int fun_id = WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getFun_idBySignalName(arr_strs[pos]); + Log.i(TAG,String.format("Spinner2 index=%d,fun_id=%d瀵瑰簲鐨勪俊鍙峰悕绉�=%s锛宨ndex" ,index,fun_id,arr_strs[pos])); + String siname=WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getSignalName(index); + int fun_idpRe= WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().getFun_idBySignalName(siname); + Log.i(TAG,index+" sp2 "+siname+ " arr-Strs[pos]="+arr_strs[pos]+ " "+pos); + if (siname!=null&&siname.equals(arr_strs[pos])){ + + }else{ + Log.i(TAG,String.format("sp2鎶�%s淇″彿鐨刬ndex=%d鏀逛负%d",siname,index,indexPre)); + Log.i(TAG,String.format("sp2鎶�%s淇″彿鐨刬ndex=%d鏀逛负%d",arr_strs[pos],indexPre,index)); + WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().updateindex(indexPre,fun_idpRe); + WorkRoomDataBase.getWorkRoomDataBase(_mActivity).getSignalConfigDao().updateindex(index,fun_id); +// signalConfigViewModel.updateindex(indexPre,getSigal2Pos(siname)); + } + + Log.i(TAG,String.format("Spinner2 index=%d,fun_id=%d瀵瑰簲鐨勪俊鍙峰悕绉�=%s锛宨ndex" + + "pre=%d,indexpreName=%s",index,pos + ,arr_strs[pos],indexPre,siname)); + } + }); + } @Override @@ -233,15 +257,17 @@ 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))); } - viewHolder.editText1.setTag(position*2+1); - viewHolder.editText2.setTag((2*(1+position))); final SignalConfigBean signalConfigItem = getItem(position); -- Gitblit v1.8.0