对于意图和捆绑[复制]简单的例子(Simple example for Intent and Bun

2019-07-19 21:55发布

这个问题已经在这里有一个答案:

  • 如何从一个活动传递一个对象到另一个Android上 31个回答

我是新,几乎没有关于Java和XML知识到Android。 我正在学习它通过我获得净我的PDF文件。 我已经了解了面包,一点关于意图,但我无法理解有关捆绑任何东西。 我已经认识到它们被用来传递从一个活动到另一个数据,但我没能实现这一点。

请举一个简单的例子来实现相同的。

作为例子,我刚刚创建了两个活动,即Main_Activity和Other_Activity,而我没有做什么他们没有。

请给出最简单的例子,这样我可以学习来实现。

提前致谢!!

Answer 1:

例如 :

在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



Answer 2:

试试这个:如果您需要使用此活动之间传递值...

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


Answer 3:

基本上,这就是你需要做的:
在第一个活动:

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

并且在第二activtiy:

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

的一开始的功能之一会给你回报的价值,这取决于你正在经历的数据类型。



文章来源: Simple example for Intent and Bundle [duplicate]