Кнопка не может нажать - PullRequest
0 голосов
/ 04 ноября 2019

После того, как я изменил код следующим образом, кнопка не может быть нажата. Прежде чем я изменюсь, кнопка может быть нажата. Кстати, где моя ошибка?

Код:

    buttonNext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String getBarcode = scanBarcodeEditText.getText().toString().trim();

            if (TextUtils.isEmpty(getBarcode)) {
                scanBarcodeEditText.setError("Please enter barcode");
            } else {
                checkBarcode(getBarcode);
            }
        }
    });

private void checkBarcode(final String barcode) {
    collectionReference.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                for (QueryDocumentSnapshot queryDocumentSnapshot : task.getResult()) {
                    if (queryDocumentSnapshot.getString("barCode") != null) {
                        collectionReference.document(queryDocumentSnapshot.getId()).update("productQuantity", FieldValue.increment(1).toString());
                        // Intent to another activity
                    } else {
                       // Intent to another activity
                    }
                }
            }
        }
    });
}

Ответы [ 2 ]

2 голосов
/ 04 ноября 2019

Проверьте приведенный ниже код, работающий нормально. Я также протестировал печать тоста и метода.

public class MainActivity extends AppCompatActivity {

    private Button buttonNext;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        buttonNext = (Button) findViewById(R.id.btnNext);

        buttonNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Toast.makeText(MainActivity.this, "NextClicked", Toast.LENGTH_SHORT).show();
                //checkBarcode("123");
                String getBarcode = scanBarcodeEditText.getText().toString().trim();

                if (TextUtils.isEmpty(getBarcode)) {
                    scanBarcodeEditText.setError("Please enter barcode");
                } else {
                    checkBarcode(getBarcode);
                }
            }
        });
    }


    private void checkBarcode(final String barcode) {

        //Toast.makeText(MainActivity.this, "Method Call", Toast.LENGTH_SHORT).show();

        collectionReference.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                if (task.isSuccessful()) {
                    for (QueryDocumentSnapshot queryDocumentSnapshot : task.getResult()) {
                        if (queryDocumentSnapshot.getString("barCode") != null) {
                            collectionReference.document(queryDocumentSnapshot.getId()).update("productQuantity", FieldValue.increment(1).toString());
                            // Intent to another activity
                        } else {
                            // Intent to another activity
                        }
                    }
                }
            }
        });
    }
}
0 голосов
/ 04 ноября 2019
private void checkBarcode(final String barcode) {
    collectionReference.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                for (QueryDocumentSnapshot queryDocumentSnapshot : task.getResult()) {
                    if (queryDocumentSnapshot.getString(barCode) != null) {
                        collectionReference.document(queryDocumentSnapshot.getId()).update("productQuantity", FieldValue.increment(1).toString());
                        // Intent to another activity
                    } else {
                       Toast.makeText(getApplicationContext,"Something wrong..",Toast.LengthLong());
                    }
                }
            }
        }
    });
}

Попробуйте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...