Как установить текст результата в EditText из «zXingScannerView» с помощью result.getText ()? - PullRequest
0 голосов
/ 13 декабря 2018

Я работал с zXingScannerView и решил установить текст результата в моем тексте редактирования в той же операции, но он не работает !!Примечание: в тосте указано:

Toasty.success(getApplicationContext(),"Code Scaned ! :"+result.getText(),Toast.LENGTH_SHORT).show();

Мой код:

public void scan(View view){
    zXingScannerView =new ZXingScannerView(getApplicationContext());
    setContentView(zXingScannerView);
    zXingScannerView.setResultHandler(this);
    zXingScannerView.startCamera();
}

@Override
protected void onPause() {
    super.onPause();
    zXingScannerView.stopCamera();
    setContentView(R.layout.activity_scan_);
}

@Override
public void handleResult(Result result) {
    setContentView(R.layout.activity_scan_);
    Toasty.success(getApplicationContext(),"Code Scaned ! :"+result.getText(),Toast.LENGTH_SHORT).show();
    Scan_Activity.this.scan.setText(result.getText());
    zXingScannerView.resumeCameraPreview(this);

}

1 Ответ

0 голосов
/ 13 декабря 2018

Здесь вам нужно всего лишь вызвать setContentView () один раз в onCreate (), проблема возникает потому, что вы снова вызываете setContentView () в handleResult ().

 @Override
public void handleResult(Result result) {
    Toasty.success(getApplicationContext(),"Code Scaned ! :"+result.getText(),Toast.LENGTH_SHORT).show();
    Scan_Activity.this.scan.setText(result.getText());
    zXingScannerView.resumeCameraPreview(this);

}

Также в этом нет необходимостиповторного вызова setContentView () в onPause (), потому что ваш макет уже создается при вызове onCreate ().

Это будет работать наверняка.Также проверьте это для дополнительной справки

...