29

Java と XML についての知識がほとんどない Android の初心者です。私はネット上で得ているpdfを通してそれを学んでいます。トーストについて、インテントについて少し学びましたが、バンドルについては何も理解できません。あるアクティビティから別のアクティビティにデータを渡すために使用されることは理解しましたが、これを実装することはできません。

同じことを実装する簡単な例を教えてください。

たとえば、Main_Activity と Other_Activity という 2 つのアクティビティを作成したばかりで、まだ何もしていません。

実装を学ぶことができるように、最も簡単な例を挙げてください。

前もって感謝します!!

4

3 に答える 3

53

例えば ​​:

MainActivity で:

Intent intent = new Intent(this, OtherActivity.class);
intent.putExtra(OtherActivity.KEY_EXTRA, yourDataObject);
startActivity(intent);

その他のアクティビティ:

public static final String KEY_EXTRA = "com.example.yourapp.KEY_BOOK";

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  String yourDataObject = null;

  if (getIntent().hasExtra(KEY_EXTRA)) {
      yourDataObject = getIntent().getStringExtra(KEY_EXTRA);
  } else {
      throw new IllegalArgumentException("Activity cannot find  extras " + KEY_EXTRA);
  }
  // do stuff
}

詳細はこちら: http://developer.android.com/reference/android/content/Intent.html

于 2013-02-14T13:57:03.927 に答える
24

これを試してください:これを使用するアクティビティ間で値を渡す必要がある場合...

これは Main_Activity が値をインテントに入れるためのコードです

 String name="aaaa";
 Intent intent=new Intent(Main_Activity.this,Other_Activity.class);
 intent.putExtra("name", name);
 startActivity(intent);

このコードは Other_Activity であり、インテントから値を取得します

    Bundle b = new Bundle();
    b = getIntent().getExtras();
    String name = b.getString("name");
于 2013-02-14T13:58:52.300 に答える
8

基本的にこれはあなたがする必要があることです:
最初の活動で:

Intent intent = new Intent();
intent.setAction(this, SecondActivity.class);
intent.putExtra(tag, value);
startActivity(intent);

そして2番目のアクティビティで:

Intent intent = getIntent();
intent.getBooleanExtra(tag, defaultValue);
intent.getStringExtra(tag, defaultValue);
intent.getIntegerExtra(tag, defaultValue);

通過するデータ型に応じて、get 関数の 1 つが値を返します。

于 2013-02-14T13:59:51.473 に答える