需要在activity之間傳遞數(shù)據(jù),遇到一些困難。代碼:private TextView createNewTextView (String text){
final LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
final TextView newTextView = new TextView(this);
ArrayList<String> players = new ArrayList<String>();
Intent zacniIgro = getIntent();
newTextView.setLayoutParams(lparams);
newTextView.setText(text);
players.add(text);
zacniIgro.putStringArrayListExtra("players", players);
return newTextView;
}
public void zacniIgro (View v){
Intent zacniIgro = new Intent (getApplicationContext(), Igra.class);
startActivity(zacniIgro);
}在新的activity中如何得到數(shù)據(jù)?我試過(guò):ArrayList<String> players = data.getStringArrayListExtra("players");檢索列表:@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_igra);
ArrayList<String> players = data.getStringArrayListExtra("players");
}給data加了紅下劃線。不知道是什么錯(cuò)誤。
2 回答

慕少森
TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
因?yàn)槟忝看伍_(kāi)始activity都創(chuàng)建了一個(gè)intent。
ArrayList<String> players = new ArrayList<String>(); //declare it outside of the function 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); players.add(text); return newTextView; } public void zacniIgro (View v){ Intent zacniIgro = new Intent (getApplicationContext(), Igra.class); zacniIgro.putStringArrayListExtra("players", players); startActivity(zacniIgro); }
在另一個(gè)activity中:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_igra); Intent data = getIntent(); ArrayList<String> players = data.getStringArrayListExtra("players"); }
添加回答
舉報(bào)
0/150
提交
取消