簡體   English   中英

字符串數組傳遞給另一個活動 - android studio

[英]String array pass to another activity - android studio

我正在嘗試使用意圖將字符串數組傳遞給另一個活動; 這是我的意圖代碼:

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]);

    }
}

您必須使用Bundle發送該系列。

Bundles 通常用於在各種 Android 活動之間傳遞數據。 這取決於您要傳遞什么類型的值,但捆綁包可以保存所有類型的值並將它們傳遞給新活動。

Bundle extras =  getIntent().getExtras();
String[] gelenIsimler = extras.getStringArrayExtra("isimler");

解決方案 - 2

Bundle b=new Bundle();
b.putStringArray("isimler", oyuncular);
Intent intent=new Intent(this, dizilisActivity.class);
intent.putExtras(b);
startActivity(intent);

其他活動

 Intent intent=getIntent();
 Bundle b=intent.getExtras();
 String[] array=b.getStringArray("isimler");

更改您的代碼,如下所示

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");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM