diff --git a/app/src/main/java/com/icssoft/icspda/activity/DispatchListActivity.java b/app/src/main/java/com/icssoft/icspda/activity/DispatchListActivity.java index 01fb070..9994f68 100644 --- a/app/src/main/java/com/icssoft/icspda/activity/DispatchListActivity.java +++ b/app/src/main/java/com/icssoft/icspda/activity/DispatchListActivity.java @@ -201,66 +201,65 @@ public class DispatchListActivity extends AppCompatActivity { } }); - barCode.addTextChangedListener(new TextWatcher() { + barCode.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { - - } - - @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { - - } - - @Override - public void afterTextChanged(Editable s) { - if (s.toString().length() > 0) { - if (s.toString().toUpperCase().startsWith("BFC")) { - outQty.setEnabled(false); - btnConfirm.setEnabled(false); - if (rbIn.isChecked()) { - new Thread(new Runnable() { - @Override - public void run() { - GetSumForSOCarton(); + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + try { + if (actionId == EditorInfo.IME_ACTION_SEND || actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_ACTION_NEXT + || (event != null && KeyEvent.KEYCODE_ENTER == event.getKeyCode() && KeyEvent.ACTION_DOWN == event.getAction())) { + if (v.toString().length() > 0) { + if (v.toString().toUpperCase().startsWith("BFC")) { + outQty.setEnabled(false); + btnConfirm.setEnabled(false); + if (rbIn.isChecked()) { + new Thread(new Runnable() { + @Override + public void run() { + GetSumForSOCarton(); + } + }).start(); } - }).start(); - } - new Thread(new Runnable() { - @Override - public void run() { - GetLotDataForSOCarton(); - } - }).start(); - } else if (s.toString().toUpperCase().startsWith("BFP")) { - outQty.setEnabled(false); - btnConfirm.setEnabled(false); - new Thread(new Runnable() { - @Override - public void run() { - GetLotDataForSOPallet(); - } - }).start(); - } else { - outQty.setEnabled(true); - btnConfirm.setEnabled(true); - if (rbIn.isChecked()) { - for (DispatchListDetailData dispatchListDetailData : dataDetailList) { - if (barCode.getText().toString().trim().equals(dispatchListDetailData.getINVCODE())) { - ErrorMsg = "请勿扫入重复条码!"; - handler.sendEmptyMessage(2); - return; + new Thread(new Runnable() { + @Override + public void run() { + GetLotDataForSOCarton(); + } + }).start(); + } else if (v.toString().toUpperCase().startsWith("BFP")) { + outQty.setEnabled(false); + btnConfirm.setEnabled(false); + new Thread(new Runnable() { + @Override + public void run() { + GetLotDataForSOPallet(); + } + }).start(); + } else { + outQty.setEnabled(true); + btnConfirm.setEnabled(true); + if (rbIn.isChecked()) { + for (DispatchListDetailData dispatchListDetailData : dataDetailList) { + if (barCode.getText().toString().trim().equals(dispatchListDetailData.getINVCODE())) { + ErrorMsg = "请勿扫入重复条码!"; + handler.sendEmptyMessage(2); + } + } } + new Thread(new Runnable() { + @Override + public void run() { + CheckLotNoForCartonIn(); + } + }).start(); } } - new Thread(new Runnable() { - @Override - public void run() { - CheckLotNoForCartonIn(); - } - }).start(); } + + } catch (Exception ex) { + ErrorMsg = ex.getMessage(); + handler.sendEmptyMessage(99); } + return false; } });