簡體   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