受信アクティビティの配列を介して渡された2つのデータ要素を分離できません
同じインテントエクストラを介して、品目データと価格データを別のアクティビティに渡しました。受信アクティビティのデータを正常に受信し、Textviewフィールドに公開しました。画面に「手羽先1000」のように見えます。ただし、両方のデータを同じ画面の2つの異なる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」変数では、「ChickenWings1000」がTextViewフィールドに出力されています。それらを分離して、「手羽先」を1つのTextView画面に印刷し、「1000」を別のTextViewフィールドに印刷できるようにしたい。
これが各文字列のパターンである場合:
つまり、最後のデータが数字または1つの単語である
場合、最後のスペース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
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加