我正在尝试使用 Intent 将字符串数组传递给另一个 Activity ;这是我的 Intent 代码:
private void activityGecis2() {
Intent gecis2 = new Intent(this, dizilisActivity.class);
gecis2.putExtra("isimler",oyuncular);
startActivity(gecis2);
当我传递它们时,我想将它们设置为 TextView 文本。但gelenIsimler返回null。这是代码,我该怎么办?
public class dizilisActivity extends AppCompatActivity {
TextView oyuncu1, oyuncu2,oyuncu3,oyuncu4,oyuncu5,oyuncu6,oyuncu7,oyuncu8,oyuncu9,oyuncu10;
TextView[] oyuncular = {oyuncu1, oyuncu2,oyuncu3,oyuncu4,oyuncu5,oyuncu6,oyuncu7,oyuncu8,oyuncu9,oyuncu10};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dizilis);
String[] gelenIsimler = getIntent().getStringArrayExtra("isimler");
oyuncu1 = (TextView) findViewById(R.id.oyuncu1);
oyuncu2 = (TextView) findViewById(R.id.oyuncu2);
oyuncu3= (TextView) findViewById(R.id.oyuncu3);
oyuncu4= (TextView) findViewById(R.id.oyuncu4);
oyuncu5= (TextView) findViewById(R.id.oyuncu5);
oyuncu6 = (TextView) findViewById(R.id.oyuncu6);
oyuncu7 = (TextView) findViewById(R.id.oyuncu7);
oyuncu8 = (TextView) findViewById(R.id.oyuncu8);
oyuncu9 = (TextView) findViewById(R.id.oyuncu9);
oyuncu10 = (TextView) findViewById(R.id.oyuncu10);
for (int i = 0; i < oyuncular.length; i++ )
oyuncular[i].setText(gelenIsimler[i]);
}
}
最佳答案
更改您的代码,如下所示
private void activityGecis2() {
Intent gecis2 = new Intent(this, dizilisActivity.class);
Bundle bundle = new Bundle();
bundle.putStringArray("isimler", oyuncular);
gecis2.putExtras(bundle);
startActivity(gecis2);
}
在dizilisActivity
中获取如下数组
String[] gelenIsimler = getIntent().getExtras().getStringArray("isimler");
关于java - 字符串数组传递给另一个 Activity - android studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61031190/