Как получить строку из текста редактирования и перейти к новой деятельности? - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь собрать пользовательский ввод и передать его другому действию и отобразить его в текстовом представлении.

Я пытался использовать функции getText () и toString () и передавать намерение, но при запуске программы строки, которые должны содержать пользовательский ввод, отображаются неправильно.

protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main_in);

            //Collect user inputs and store them in strings
            noun1 = (EditText)findViewById(R.id.noun1);
            pluralNoun =  (EditText)findViewById(R.id.pluralNoun);
            noun2 = (EditText)findViewById(R.id.noun2);
            place = (EditText)findViewById(R.id.place);
            adjective = (EditText)findViewById(R.id.adjective);
            noun3 = (EditText)findViewById(R.id.noun3);

            firstNoun = noun1.getText().toString();
            nounPlural = pluralNoun.getText().toString();
            secondNoun = noun2.getText().toString();
            inputPlace = place.getText().toString();
            inputAdjective = adjective.getText().toString();
            thirdNoun = noun3.getText().toString();

            madLib ="Be kind to your " + firstNoun + "-footed " + pluralNoun + "\n" +
                    "For a duck may be somebody`s " + secondNoun + ",\n" +
                    "Be kind to your " + pluralNoun + " in " + inputPlace + "\n" +
                    "Where the weather is always " + inputAdjective + ".\n" +
                    "\n" +
                    "You may think that this is the " + thirdNoun + ",\n" +
                    "Well it is.\t";

        }



        public void createStory(View view) {
            Intent myIntent = new Intent(MainActivityIn.this,
                    MainActivityOut.class);
            myIntent.putExtra("story",madLib);
            startActivity(myIntent);
        }

Я ожидаю вывод нескольких предложений, отображающих историю со словами, введенными пользователем, но вместо этого я получаю вывод, изображенный ниже:

Actual Output

Ответы [ 3 ]

0 голосов
/ 03 апреля 2019

В matLib некоторые из вызываемых вами переменных - не String, а editText, поэтому у вас есть странный результат. Как во множественном числе ... Попробуйте это соглашение об именах, назовите все editText et ..., все textView tv ..., все кнопки btn ..., все imageView iv ... Таким образом, вы можете избежать путаницы с вашими переменными.

0 голосов
/ 03 апреля 2019

Вы передаете EditText Объект внутри строки

madLib ="Be kind to your " + firstNoun + "-footed " + pluralNoun + "\n" +
                    "For a duck may be somebody`s " + secondNoun + ",\n" +
                    "Be kind to your " + pluralNoun + " in " + inputPlace + "\n" +
                    "Where the weather is always " + inputAdjective + ".\n" +
                    "\n" +
                    "You may think that this is the " + thirdNoun + ",\n" +
                    "Well it is.\t";

множественное число существительное равно EditText Объект

изменить код как

madLib ="Be kind to your " + firstNoun + "-footed " + nounPlural+ "\n" +
                        "For a duck may be somebody`s " + secondNoun + ",\n" +
                        "Be kind to your " + nounPlural + " in " + inputPlace + "\n" +
                        "Where the weather is always " + inputAdjective + ".\n" +
                        "\n" +
                        "You may think that this is the " + thirdNoun + ",\n" +
                        "Well it is.\t";
0 голосов
/ 03 апреля 2019

Вы можете получить String в вашем другом действии под названием MainActivityOut.class , используя приведенный ниже код, и передать эту строку в текстовое представление.

String madLib = getIntent().getStringExtra("story");
yourTextView.setText(madLib);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...