我創建了一個名爲「Player」的類。在intents之間傳遞class ArrayList
public class Player{
public String name;
public int score;
}
每當我點擊一個按鈕,一個新的TextView被生成,並且還有一個新的Player類。這是代碼:
private TextView createNewTextView (String text){
final LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
final TextView newTextView = new TextView(this);
newTextView.setLayoutParams(lparams);
newTextView.setText(text);
Player newPlayer = new Player();
newPlayer.name = text;
newPlayer.score = 0;
players.add(newPlayer);
zacniIgro.putExtra("players", (ArrayList<Player>) players);
return newTextView;
}
這是正確的方法嗎?我認爲這是一個小缺陷,因爲每次點擊一個按鈕時,都會在「newPlayer」標籤下添加一個新播放器。我該如何解決?
而我的主要問題是這樣的;如何在第二個活動中「解壓縮」ArrayList,以便我可以使用ArrayList的每個元素進行操作?我試過getStringArrayListExtra(),但它不起作用。我也嘗試過getExtras(),但是它也沒有工作,因爲它檢索一個包。或者這是正確的方式?但是,我該怎麼處理這個軟件包呢?
嘗試執行'Parceable',或其他方法是使用google的gson api,並以String格式將對象轉換爲JSONObjects,然後以字符串格式發送'JSONArray'在您的活動之間,因此在目標活動中,您將使用gson api輕鬆解析您的JSONArray – Houcine