Как получить и разделить несколько данных, переданных в массиве, от одного действия к другому через намерение

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

Я передал данные о материалах и ценах через то же Intent Extra в другое действие. Я успешно получил данные в действии получения и опубликовал их в поле Textview. такое, что на экране это выглядит так: «Куриные крылышки 1000». Однако я хочу разделить обе части данных на два разных поля Textview на одном экране. проблема в том, что я не могу отделить оба элемента от массива. Мой код ниже

В отправляющем действии

Cursor category1 = controller.categotyforGroupedLv();
        Cursor itemListCategory;
        listDataHeader = new ArrayList<>();
        listHash = new HashMap<>();

        if (category1.getCount() == 0) {
           category1.moveToFirst();

        }

                 while (category1.moveToNext()) {
                listDataHeader.add(" " + category1.getString(1));


                itemListCategory = controller.getFPMsster(category1.getString(1));   

                List<String> listDataItem = new ArrayList<>();
                if (itemListCategory.getCount() != 0) {
                    while(itemListCategory.moveToNext()) {
                        listDataItem.add(" " + itemListCategory.getString(3)+ " " + itemListCategory.getString(4));

Намерение

 mIntent = new Intent(OrderTakingScreen.this,
                        OrderTakingScreen2_OrderDetails.class);

                               mIntent.putExtra("keyName", listHash.get(listDataHeader.get(groupPosition)).get(childPosition));

В принимающей деятельности у меня есть

 TextView menuChoice = (TextView) findViewById(R.id.menuchoice);
    String data = getIntent().getExtras().getString("keyName");
    menuChoice.setText(data);  

В переменной «KeyName» я напечатал «Chicken Wings 1000» в поле TextView. Я хочу иметь возможность разделить их и напечатать «Куриные крылышки» на одном экране TextView, а «1000» - на другое поле TextView.

Как получить данные? Вы получаете их по отдельности или все вместе?

Yupi 08.01.2019 00:20
1
1
28
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если это образец каждой строки:
означает, что последний фрагмент данных представляет собой число или отдельное слово
тогда их можно разделить, найдя индекс последнего символа пробела:

String text = "Chicken wings 1000";
String item1 = text.substring(0, text.lastIndexOf(' '));
String item2 = text.substring(text.lastIndexOf(' ') + 1);
System.out.println("item1 = " + item1);
System.out.println("item2 = " + item2);

напечатает

item1 = Chicken wings
item2 = 1000

спасибо @forpas .. работал как шарм. не могу поверить, что это было так просто, борюсь с этим уже два дня. Очень признателен

Noruwa 08.01.2019 11:32

Другие вопросы по теме