0

私は3つの活動をしています。最初のアクティビティから 2 番目のアクティビティへの文字列値を取得しようとしています。そして、最初のアクティビティの文字列値と 3 番目のアクティビティの 2 番目のアクティビティの両方が必要です。

これを達成するには、アクティビティでコードをどのように表示する必要がありますか?

私のフローは、最初に最初のアクティビティを実行し、次に最初に 2 番目のアクティビティを開始し、最後に 2 番目に 3 番目のアクティビティを開始します。

どんな助けでも大歓迎です。

4

5 に答える 5

1

Intent を使用して次のような文字列を配置してください:

Intent i=new Intent(Activity1.this,Activity2.class);
i.putExtra("string1",//here add your string);

同じコードに 2 番目のアクティビティを貼り付けて、次のような 2 つの文字列を渡します。

String test=getIntent.getStringExtras("string1");

Intent i=new Intent(Activity2.this,Activity3.class);
i.putExtra("string1",test);
i.putExtra("string2",//here add your string);

次のように activity3 に 2 つの値を取得するのと同じです。

 String test=getIntent.getStringExtras("string1");
 String test2=getIntent.getStringExtras("string2");
于 2013-01-12T05:31:13.853 に答える
1

インテントにエクストラを追加できます。Activity1 では、次のスニペットを使用します。

Intent intent = new Intent(this, Activity2.class);
intent.putExtra("SuperSecretValue", /* put your string here */);
startActivity(intent);

Activity2 で、次のスニペットを使用します。

String superSecretValue = getIntent().getStringExtra("SuperSecretValue");
Intent intent = new Intent(this, Activity3.class);
intent.putExtra("SuperSecretValue", superSecretValue);
intent.putExtra("AnotherSuperSecretValue", /* put your string here */);
startActivity(intent);

Activity3 で、次のスニペットを使用します。

String superSecretValue = getIntent().getStringExtra("SuperSecretValue");
String anotherSuperSecretValue = getIntent().getStringExtra("AnotherSuperSecretValue");

インテントでできることの詳細については、ドキュメントを確認してください。この特定のケースでは、追加のキーと値のペア (「エクストラ」と呼ばれる) をインテント オブジェクトに追加して、インテント オブジェクトを使用して開始するアクティビティで名前で取得できます。

于 2013-01-12T05:37:49.470 に答える
1

Intent を作成してから、メソッド putExtra を使用する必要があります。

ここに例があります。

activity1 の変数を activity2 に渡すように設定するには

String yourString = "Hello World";
Intent intent = new Intent(activity1.this,activity2.class);
intent.putExtra("RandomName",yourString);
startActivity(intent);

いよいよアクティビティ2

Intent getIntent = getIntent();
String passedString = getIntent.getString("RandomName");

3 番目のアクティビティについて繰り返します。

ここでもっと読むことができます

于 2013-01-12T05:37:53.713 に答える
0

値を持つには、最初にアクティビティを作成する必要があります...意図を持って値を渡すのはこのようなものです

Intent i = new Intent("my.activity.TWO");
i.putExtra("extraString1", myString);
startActivity(i);

その後、第2幕で。

Intent geti = getIntent();
    Bundle b = geti.getExtras();
    grade = b.getString("extraString1");
于 2013-01-12T05:35:47.807 に答える
0

バンドルの概念を使用することで、これを実現できます...

例: ここ Secondage の MainActivity から次のページにデータを送信する

Intent i=new Intent("android.intent.action.Secondpage.class");

                Bundle b=new Bundle();
                b.putString("key1",ed1.getText().toString());
                b.putString("key2",ed2.getText().toString());
                b.putString("key3",ed3.getText().toString());
                int m=Integer.valueOf(ed4.getText().toString());
                b.putInt("key4",m);
                int n=Integer.valueOf(ed5.getText().toString());
                b.putInt("key5",n);
                i.putExtras(b);
                startActivity(i);


            }
        });

SecondPage で、この値を受け取ることができます getIntent().getExtras() 関数

  Bundle b=getIntent().getExtras();

           String s1=b.getString("key1");
           String s2=b.getString("key2");
           String s3=b.getString("key3");
           int s4=b.getInt("key4");
           int s5=b.getInt("key5");

           tv1.setText(s1);
           tv2.setText(s2);
           tv3.setText(s3);
           tv4.setText(""+s4);
           tv5.setText(""+s5);

これは間違いなくあなたがこれを試すのに役立ちます

于 2013-01-12T05:43:06.993 に答える