2017-05-04 6 views
0

私はAndroidで新しく、私はインテントに関する質問があります。私はインテントを使って2つのアクティビティ間でString ArrayListを渡したいと思います。私はこれを試してみました:Androidの2つのインテントの間でarrayListを渡す方法

` 
ArrayList<String> playerName = new ArrayList<>(); 
Intent intent = new Intent(this,Game.class); 
intent.putStringArrayListExtra("Player",playerName); 
startActivity(intent);` 

は、その後、私はそのように私の意図を受信しようとした: `

ArrayList<String> playerNameList= new ArrayList<>(); 
playerNameList = getIntent().getStringArrayListExtra("Player"); 
int listSize = playerNameList.size(); 
StringBuilder str = new StringBuilder(" "); 
str.append(listSize); 
textView.setText(str); 
StringBuilder str1 = new StringBuilder(" "); 
str1.append(playerNameList.get(2)); 
textView2.setText(str1);` 

私は正しいLISTSIZEを得ることができます。しかし、私は私のarrayListの任意の要素を取得することができません。私はいつも "index(0)"要素を取得します。私は本当にすべてのアドバイスに感謝し、あなたが簡単にGame.class

でGson

Intent intent = new Intent(this,Game.class); 
intent.putExtra("Player",new Gson().toJson(playerName)); 
startActivity(intent); 

を使用して

ArrayList<String> playerNameList = playerNameList = new ArrayList<>(); 
String str = getIntent().getStringExtra("Player"); 
playerNameList = new Gson().fromJson(str,new TypeToken<ArrayList<String>>(){}.getType()); 
+1

http://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-in-android-application?rq=1 –

+1

重複する可能性のある[データの受け渡し方法Androidアプリケーションのアクティビティ間?](http://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-in-android-application) – Bobulous

+0

私は意図を開始することができると思いますデータを送る。私は私のarrayListのサイズを取得することができます。問題はデータへのアクセスです。 – Aybars

答えて

1

を助けることになります。インテントへのputStringArrayListExtraとインテントからのgetStringArrayListExtraへのコードは正しいです。

0

playerNameをArrayListにデータを追加するために、あなたのコードを確認することができます

関連する問題