Я не могу разделить два элемента данных, переданных вместе через массив в принимающей операции
Я передал данные о материалах и ценах через то же 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.
Если это образец каждой строки:
означает, что последний фрагмент данных представляет собой число или отдельное слово
тогда их можно разделить, найдя индекс последнего символа пробела:
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 .. работал как шарм. не могу поверить, что это было так просто, борюсь с этим уже два дня. Очень признателен
Как получить данные? Вы получаете их по отдельности или все вместе?