FirebaseTranslatorOptions.Builder объект не принимает ввод из выпадающего меню (Spinner) Firebase Перевести текст в Android - PullRequest
0 голосов
/ 06 октября 2019

Я разработал приложение для Android, которое переводит текст (из EditText), приложение использует Firebase API. он успешно переводится, когда я выбираю исходный и целевой язык в жестком коде. (Параметры языка setSource и setTarget в FirebaseTranslatorOption даже для целочисленного кода, т. Е. EN (11), FR (17) и т. Д., Но он не принимает никакого динамического ввода из setOnItemSelectedListener объекта Spinner. '' '// События выбора элементов спиннеров

    input_lang_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(parent.getContext(),
                    "OnItemSelectedListener : " + parent.getItemAtPosition(position),
                    Toast.LENGTH_SHORT).show();

            selected_source_lang = parent.getItemAtPosition(position).toString();
            switch (position){
                case 0:
                    Toast.makeText(getApplicationContext(),"Plz select a language",Toast.LENGTH_LONG).show();
                case 1:
                       SourceLangCode=11;
                    break;
                case 2:
                    SourceLangCode=17;
                    break;
                case 3:
                    SourceLangCode=56;
                    break;
                case 4:
                    SourceLangCode=48;
                    break;
                case 5:
                    SourceLangCode=9;
                    break;
            }
        }

   @Override
        public void onNothingSelected(AdapterView<?> parent) {
        Toast.makeText(getApplicationContext(),"Plz select a language",Toast.LENGTH_LONG).show();
        }
    });           

// конец выбора языка ввода

 output_lang_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(parent.getContext(),
                    "OnItemSelectedListener : " + parent.getItemAtPosition(position),
                    Toast.LENGTH_SHORT).show();
            selected_target_lang = parent.getItemAtPosition(position).toString();

            switch (position){
                case 0:
                    Toast.makeText(getApplicationContext(),"Plz select a       language",Toast.LENGTH_LONG).show();
                case 1:
                    targetLangCode=11;
                    break;
                case 2:
                    targetLangCode=17;
                    break;
                case 3:
                    targetLangCode=56;
                    break;
                case 4:
                    targetLangCode=48;
                    break;
                case 5:
                    targetLangCode=9;
                    break;
            }

        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
            Toast.makeText(getApplicationContext(),"Plz select a language",Toast.LENGTH_LONG).show();

        }
    });//end of output language selection

// firebaseTranslatorOptions объект

    FirebaseTranslatorOptions options =
            new FirebaseTranslatorOptions.Builder()
                    .setSourceLanguage(SourceLangCode)  //this is not taken as I select item
                    .setTargetLanguage(targetLangCode)   //item selection is working
                    .build();

    final FirebaseTranslator languageTranslator =
            FirebaseNaturalLanguage.getInstance().getTranslator(options);

'' '

...