ArrayAdapter不会从另一个活动加载字符串

时间:2014-08-10 00:37:11

标签: android arrays listview arraylist android-arrayadapter

我正在尝试将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参数中的字符串。我不知道为什么会这样做。

1 个答案:

答案 0 :(得分:0)

正如其他人提到的那样,你使用了错误的数据类型来从意图中获得额外的数据。

替换此行:

String p1List = (getIntent().getStringExtra("p1L"));

使用:

ArrayList<String> p1List = getIntent().getStringArrayListExtra("p1L");