如何检索和分离通过Intent从一个活动传递到另一个活动的数组中传递的多个数据

时间:2019-01-07 23:13:39

标签: android arrays android-intent android-activity expandablelistview

我无法分隔通过接收活动中的数组一起传递的两个数据元素

我已通过同一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字段上

1 个答案:

答案 0 :(得分:0)

如果这是每个字符串的模式:
表示最后一条数据是数字或单个单词
那么可以通过找到最后一个空格char的索引来分隔它们:

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