getIntent()。getExtras()是什么意思?

时间:2017-11-12 14:02:07

标签: android android-intent

我是Android开发的新手,在使用Intent作为getIntent()。getExtras()时,我遇到了一些新东西。

任何人都可以解释一下我们如何编写getIntent()。getExtras(),直到现在我知道我们可以通过创建该特定类的对象来调用方法但是这里我们通过使用getIntent调用方法getExtras() ()方法。

2 个答案:

答案 0 :(得分:2)

getIntent()。getExtras()用于从存储在bundle中的intent获取值。 Intent类用于在活动之间切换。但有时我们需要将数据从一个活动发送到另一个活动。因此,在这个特定时刻,我们需要设置一些可以转移到目标活动的意图值。我们可以通过以下代码实现这一点 -

Bundle bundle = new Bundle();
bundle.putString("key1","someValue");
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
intent.putStringExtra("key","value");
intent.putExtras(bundle);
startActivity(intent); 

现在,在第二个活动中,我们可以得到" key"所以我们可以在第二个活动中使用它。为此,我们使用getIntent()。getIntent可以存储Bundle。让我们看一个例子 -

Intent intent=getIntent();
Bundle valueFromFirstActivity = intent.getExtras();
String valueOfKey = intent.getStringExtra("key");
String valueOfKey = bundle.getString("key1");

所以这样,人们可以从活动中获取价值。 Bundle是一个可以在其自身内部保存值的类,并且可以使用putExtras()将该bundle的实例赋予intent。它在传输自定义数组列表时非常有用。

答案 1 :(得分:0)

  

我们可以通过创建该特定类的对象来调用方法

getIntent()是一个返回Intent对象的方法。当你调用getIntent()。getExtras()时,首先返回一个Intent对象,然后调用getExtras()方法。

这种调用方式称为方法链(Fluent Interfaces