Установить текст редактирования во фрагменте после получения результата сканирования - PullRequest
1 голос
/ 10 февраля 2020

У меня есть функция CaptureActivity для сканирования штрих-кодов с помощью мобильной камеры. Я пытаюсь запустить это действие из фрагмента и позволить фрагменту в ожидании действия завершить сканирование штрих-кода. В результате сканирования я хотел бы заполнить текст редактирования внутри родительского фрагмента. Как я могу это сделать?

1 Ответ

1 голос
/ 11 февраля 2020

Вы можете использовать startActivityForResult метод:

Родительская активность:

final int BARCODE_ACTIVITY_REQUEST_CODE = 1

private void startBarcodeScannerActivityForResult() {
    Intent intent = new Intent(this, BarcodeActivity.class);
    startActivityForResult(i, BARCODE_ACTIVITY_REQUEST_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == BARCODE_ACTIVITY_REQUEST_CODE) {
        if(resultCode == Activity.RESULT_OK){
            String barcode = data.getStringExtra("barcode");
        }
    }
}

Активность со штрих-кодом

private void handleDecodeInternally(Result rawResult, ResultHandler resultHandler, Bitmap barcode) {
    String barcode = resultHandler.getDisplayContents().toString();
    Intent returnIntent = new Intent();
    returnIntent.putExtra("barcode",barcode);
    setResult(Activity.RESULT_OK,returnIntent);
    finish();
 }

Подробнее о startActivityForResult: https://developer.android.com/reference/android/app/Activity

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