web-dev-qa-db-ja.com

インテントとバンドルの簡単な例

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

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

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

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

前もって感謝します!!

27
Akshay Sethi

例えば ​​:

MainActivityで:

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

OtherActivityで:

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

49
John Doe

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

これは、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");
22
Android_coder

基本的にこれはあなたがする必要があることです:
最初のアクティビティ:

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つは、通過するデータ型に応じて値を返します。

6
Nickolaus