Получение значения и отображение его в EditText - PullRequest
0 голосов
/ 18 октября 2018

У меня есть следующий код, это приложение для сканирования штрих-кодов с использованием библиотеки ZXing.

txtoperatrice.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            IntentIntegrator integrator = new IntentIntegrator(activity);
            integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);
            integrator.setPrompt("Scannez le code à barres SVP");
            integrator.setCameraId(0);
            integrator.setBeepEnabled(true);
            integrator.setBarcodeImageEnabled(false);
            integrator.initiateScan();
        }
    });
}

txtoperatrice - это EditText, в котором должен отображаться результат штрих-кода.Результат получается по следующему коду:

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if (result!=null){
        if(result.getContents()==null){
            Toast.makeText(this, "Erreur de Scan", Toast.LENGTH_LONG).show();
        }
        else{
            ///////// DISPLAY THE CODE IN THE EDITTEXT txtoperatrice
        }
    }
    else{
        super.onActivityResult(requestCode, resultCode, data);
    }
}

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Если объект EditText txtoperatrice является глобальным в вашем классе и укажите идентификатор компонента XML, используя findViewById (R.id.yourEditText) в функции onCreate в упражнении.

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if (result!=null){
        if(result.getContents()==null){
            Toast.makeText(this, "Erreur de Scan", Toast.LENGTH_LONG).show();
        }
        else{
            //you should have a string to put in this argument
            //get your result in a string for example resultStr
            String resultStr = result.getContents().tostring();
            //the above line is just to clear what to do. it may not work exacly 
            // and then...
            txtoperatrice.setText(resultStr);
        }
    }
    else{
        super.onActivityResult(requestCode, resultCode, data);
    }

}

0 голосов
/ 18 октября 2018

делает txtoperatrice глобальной переменной, а затем присваивает ее через findViewById в вашем onCreate методе

и onActivityResult устанавливает его текст в результат, используя следующий код

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if (result!=null){
        if(result.getContents()==null){
            Toast.makeText(this, "Erreur de Scan", Toast.LENGTH_LONG).show();
        }
        else{
           txtoperatrice.setText(result.getContents());
        }
    }
    else{
        super.onActivityResult(requestCode, resultCode, data);
    }
}
...