我正在尝试从 ArrayList
打印一个字符串在我的另一个 Activity 中使用 ListView。我在我的 中传递了一个键和值意向多变的。使用这个。
主要 Activity
ArrayList<String> arrayList = new ArrayList<String>();
Intent intent = new Intent(getApplicationContext(), ViewCart.class);
mealOneIncrement++;
quantityOne.setText(Integer.toString(mealOneIncrement));
mealOneCost = mealOneIncrement * mealOnePrice;
price.setText(Double.toString(mealOneCost));
String mealOneSummayName = name.toString();
String mealOneSummaryDescription = description.toString();
String mealOneSummaryQuantity = String.valueOf(mealOneIncrement);
String mealOneSummaryCost = String.valueOf(mealOneCost);
arrayList.add(mealOneSummayName);
arrayList.add(mealOneSummaryDescription);
arrayList.add(mealOneSummaryQuantity);
arrayList.add(mealOneSummaryCost);
intent.putExtra("data", arrayList);
正如你在这里看到的,我通过了
arrayList
变量作为能够从另一个 Activity 传递的值。第二 Activity
ListView listView = (ListView) findViewById(R.id.listView);
String[] mealSummary = {};
ArrayAdapter adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, mealSummary);
Bundle bundle = getIntent().getExtras();
String data = bundle.getString("data");
listView.setAdapter(adapter);
我在这部分有点困惑
String data = bundle.getString("data");
我不确定我是否将正确的变量传递给我的 ListView
所以我可以显示arrayList
我的 中的变量ListView
.我做错了吗?任何帮助将不胜感激:)
最佳答案
您的代码存在一些问题:
intent.putExtra("data", arrayList);
你在包里面放了一个字符串的arrayList,但是然后
String data = bundle.getString("data");
你得到的只是一个字符串。您需要使用
bundle.getStringArrayList("data")
.ArrayList<String> data = bundle.getStringArrayList("data")
另外(与您的问题无关),我建议使用
Intent intent = new Intent(this, ViewCart.class);
代替
Intent intent = new Intent(getApplicationContext(), ViewCart.class);
关于java - 使用 ListView 从另一个 Activity 打印 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39233995/