传递数据到另一个activity

需要在activity之间传递数据,遇到一些困难。

代码:

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中如何得到数据?我试过:

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加了红下划线。不知道是什么错误。


翻阅古今
浏览 490回答 2
2回答

慕少森

因为你每次开始activity都创建了一个intent。ArrayList<String>&nbsp;players&nbsp;=&nbsp;new&nbsp;ArrayList<String>();&nbsp;//declare&nbsp;it&nbsp;outside&nbsp;of&nbsp;the&nbsp;function private&nbsp;TextView&nbsp;createNewTextView&nbsp;(String&nbsp;text){ &nbsp;&nbsp;&nbsp;&nbsp;final&nbsp;LayoutParams&nbsp;lparams&nbsp;=&nbsp;new&nbsp;LayoutParams(LayoutParams.WRAP_CONTENT,&nbsp;LayoutParams.WRAP_CONTENT); &nbsp;&nbsp;&nbsp;&nbsp;final&nbsp;TextView&nbsp;newTextView&nbsp;=&nbsp;new&nbsp;TextView(this); &nbsp;&nbsp;&nbsp;&nbsp;newTextView.setLayoutParams(lparams); &nbsp;&nbsp;&nbsp;&nbsp;newTextView.setText(text); &nbsp;&nbsp;&nbsp;&nbsp;players.add(text); &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;newTextView; } public&nbsp;void&nbsp;zacniIgro&nbsp;(View&nbsp;v){ &nbsp;&nbsp;&nbsp;&nbsp;Intent&nbsp;zacniIgro&nbsp;=&nbsp;new&nbsp;Intent&nbsp;(getApplicationContext(),&nbsp;Igra.class); &nbsp;&nbsp;&nbsp;&nbsp;zacniIgro.putStringArrayListExtra("players",&nbsp;players); &nbsp;&nbsp;&nbsp;&nbsp;startActivity(zacniIgro); }在另一个activity中:@Override protected&nbsp;void&nbsp;onCreate(Bundle&nbsp;savedInstanceState)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;super.onCreate(savedInstanceState); &nbsp;&nbsp;&nbsp;&nbsp;setContentView(R.layout.activity_igra); &nbsp;&nbsp;&nbsp;&nbsp;Intent&nbsp;data&nbsp;=&nbsp;getIntent(); &nbsp;&nbsp;&nbsp;&nbsp;ArrayList<String>&nbsp;players&nbsp;=&nbsp;data.getStringArrayListExtra("players"); }

MMTTMM

你的data申明在哪里??
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java