我想将所有数组值传递给下一个活动。但我不知道该怎么做 如何使用arrayList来实现它。
我已经完成了这个编码,但是当我点击按钮时它会给我一个错误 我强行关闭了申请
package com.example.snooder;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RelativeLayout.LayoutParams;
public class players extends Activity {
LinearLayout player_layout;
Bundle b;
List<EditText> allEds = new ArrayList<EditText>();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.players);
b = getIntent().getExtras();
String resStr = b.getString("name");
player_layout = (LinearLayout) findViewById(R.id.player_layout);
EditText[] ed1 = new EditText[Integer.parseInt(resStr)+1];
Button add_player = new Button(players.this);
add_player.setText("Add Players");
for(int i=1;i<=Integer.parseInt(resStr);i++)
{
ed1[i] = new EditText(players.this);
allEds.add(ed1[i]);
player_layout.addView(ed1[i]);
ed1[i].setId(i);
ed1[i].setHint("enter player" +i+ "name");
ed1[i].setHeight(50);
ed1[i].setWidth(300);
add_player.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(players.this,player_name.class);
String[] strings = new String[allEds.size()];
for(int i=0; i < allEds.size(); i++){
strings[i] = allEds.get(i).getText().toString();
}
for(int i=0;i<allEds.size();i++)
{
intent.putExtra("playerName",strings[i].toString());
}
startActivity(intent);
}
});
}
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
player_layout.addView(add_player, lp);
}
}
答案 0 :(得分:0)
错误发生在这里:
intent.putExtra( “playerName”,字符串[I]的ToString());
此时,数组strings
仍为空;你试图引用空值。
但是,关于您的问题,您获得了正确的方法:将值放入将发送到下一个活动的intent中。您可以使用带有字符串数组的putExtra
,如SO question所示。
答案 1 :(得分:0)
您正在添加具有相同名称的所有额外内容,最后它将只是一个。
的重载版本