我正在尝试将List Array的数据发送到另一个活动中的Array Adapter。这是基于一个smiple计数器应用程序,当我打开第二个活动时,它显示已按下哪些按钮和多少次。
到目前为止,我已经创建了我的数组列表第一个活动
String player1data = lifepointsP1.getText().toString();
ArrayList<String> myList1 = new ArrayList<String>();
myList1.add(player1data);
每次更改lifepointsP1文本时,都会更新。然后在按下按钮打开新活动我这样做:
Intent mi = new Intent(v.getContext(), MatchHistory.class);
mi.putExtra("p1L", myList1);
startActivity(mi);
将数据发送到第二个活动,我将检索它:
String p1List = (getIntent().getStringExtra("p1L"));
然后我创建我的数组适配器并将该字符串作为值插入:
lvP1 = (ListView) findViewById(R.id.lvP1R);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MatchHistory.this, android.R.layout.simple_list_item_1, p1List);
lvP1.setAdapter(arrayAdapter);
尽管如此,这给了我一个错误并告诉我取出&#39; p1List&#39; arrayadapter参数中的字符串。我不知道为什么会这样做。
答案 0 :(得分:0)
正如其他人提到的那样,你使用了错误的数据类型来从意图中获得额外的数据。
替换此行:
String p1List = (getIntent().getStringExtra("p1L"));
使用:
ArrayList<String> p1List = getIntent().getStringArrayListExtra("p1L");