0
            String s1 = e1.getText().toString();
            String s2 = e2.getText().toString();
            String s3 = e3.getText().toString();

            Intent updateIntent = new Intent(DetailActivity.this,MainActivity.class);
            Bundle bundle = new Bundle();
            bundle.putString("name", s1);
            bundle.putString("lat", s2);
            bundle.putString("lon", s3);

            updateIntent.putExtras(bundle);

これは、データを配置する最初のクラスです。コードで使用している最初のクラスに、すぐに使用する2番目のクラスのデータを送信しました。ここで、これらのバンドル データを最初のクラスで再び使用する必要があります。JSONからデータを入れたArrayListアイテムがあります。最初のクラスでこれらのデータを再度変更する必要があります。私の問題を説明していただければ幸いです。

4

1 に答える 1

1

結果にアクティビティを使用するには、最初のクラスで最初に開始する必要があります。

startActivityForResult(intent, 1);

2 番目のクラスでは、結果を設定してアクティビティを終了する必要があります。

Intent i = getIntent();
String msg = i.getStringExtra("color");
if (msg.contentEquals("choosecolor")) 
{
    i.putExtra("chosencolor", color);
    setResult(RESULT_OK, i);
    finish();
}

最初のクラスでは、次のコードを使用してデータを受け取ることができます。

  protected void onActivityResult(int requestCode, int resultCode, Intent data) {

     if (resultCode == RESULT_OK) {
         //get the data sent from the second class here...
         data = data.getStringExtra("key");
         //do something with my precious data
     }
 }
于 2013-03-28T08:42:47.073 に答える