繁体   English   中英

将侦听器从一个edittext更改为第二个edittext

[英]change listener from one edittext to a second edittext

在这方面寻求帮助。 我在一个活动上有2个EditTexts。 当用户进入屏幕时,第一个EditText具有焦点,可以从扫描仪输入。 用户扫描条形码,程序通过从数据库中找到相应的项目来验证它是一个很好的阅读器。 如果找到该项目,我正在尝试使第二个EditText具有下一次扫描的焦点。

我是java的新手(VB Windows开发人员),正在努力实现这一目标。 不管我每次扫描第二个条形码时都尝试过什么,第一个EditText都会得到扫描的内容。

我很难弄清楚如何将侦听器更改为专注于Second EditText。

有人可以解释一次有效的第一次扫描后如何将焦点更改为第二个EditText。

public void listener() {
        scanner.scannerListener = new ScannerListener() {
            @Override
        public void listener() {
           sChecker = mEntryText.getText().toString();

            if (sChecker.equals("")) ;
            {
                mScan = scanner.getScanResult();
                Timber.d("The barcode is " + mScan);
                if (!mScan.equals("")) {

                    int lmScan = mScan.length();
                    if (lmScan > 15) {
                        checkGs1Barcode();
                    }
                    String s = DatabaseMgr.VerifyItem(mScan);
                    if (s.length() > 1) {
                        if (s.equalsIgnoreCase("Unknown Item###")) {
                            Toast.makeText(getApplicationContext(), "Unknown Item", Toast.LENGTH_SHORT).show();
                        } else if (s.equalsIgnoreCase("Multiple Items###")) {
                            setupMultiItems(mScan);
                        } else {
                            String[] sArr = s.split("\\#");
                            String IsItem = sArr[0];
                            String IsItemDesc = sArr[1];
                            String isLevel = sArr[2];
                            String isLvlDesc = sArr[3];
                            Button ItemDescText = findViewById(R.id.btnDesc);
                            ItemDescText.setText(IsItemDesc);
                            TextView ItemUPCText = findViewById(R.id.editUPC);
                            ItemUPCText.setText(mScan);

                            Integer iQTY = ValidateQTYinArea(IsItem, "RTN", myArea, isLevel);
                            TextView mQty = findViewById(R.id.txtDetail);
                            String myResult = "RTN - " + myArea + " - " + isLvlDesc + " - " + iQTY;
                            mQty.setText(myResult);
                            mEntryText.setBackgroundColor(getResources().getColor(R.color.colorWhite));

                            mLoc.setBackgroundColor(getResources().getColor(R.color.colorYellow));
                            mLoc.requestFocus();
                        }
                    }
                } else {
                    mLoc.setText(scanner.getScanResult());
                }

            }

        }
    };
}

mLoc.setText行未命中

因此,您需要做的是:

if (sChecker.equals("")){
   mEditText1.setText("text to be set");
}else{
   mEditText2.setText("text to be set");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM