Intent intent = getIntent(); String person_id = intent.getStringExtra("person_id"); String real_data = intent.getStringExtra("real_data");为什么运行后获得的person_id为空
时间: 2024-02-21 18:00:57 浏览: 24
如果`person_id`为空,有可能是因为在调用`getIntent()`方法之前,没有通过`putExtra()`方法将`person_id`添加到Intent中。请确保在启动当前Activity的代码中,已经添加了`person_id`到Intent中:
```java
Intent intent = new Intent(Activity1.this, Activity3.class);
intent.putExtra("person_id", "1234");
startActivity(intent);
```
另外,当从Intent中获取数据的时候,也应该检查数据是否为空。可以使用`getStringExtra()`方法的另一个重载方法,设置一个默认值,以便在数据为空的情况下返回默认值:
```java
String person_id = intent.getStringExtra("person_id", "default_value");
```
这样可以确保在获取数据时不会出现空指针异常。
相关问题
Intent intent=this.getIntent(); bookId=intent.getStringExtra("bookId"); sendID=intent.getStringExtra("id");bookId为空
这段代码中,bookId为空的原因可能是intent对象中不存在名为"bookId"的字符串Extra,或者该Extra的值为null。建议在调用getStringExtra()方法前先检查intent对象中是否包含该Extra,或者给bookId变量赋一个默认值,以免出现空指针异常。例如可以这样修改代码:
```
Intent intent = this.getIntent();
if(intent.hasExtra("bookId")) {
bookId = intent.getStringExtra("bookId");
} else {
bookId = "default_book_id";
}
sendID = intent.getStringExtra("id");
```
Intent intent=this.getIntent();
这段代码是在 Android 开发中获取启动当前 Activity 的 Intent 对象。
可以通过该 Intent 对象获取传递给当前 Activity 的额外数据,例如:
```
String extraData = intent.getStringExtra("key");
```
其中 "key" 是数据的键,可以根据你传递数据的方式而定。如果是使用 putExtra() 方法传递的数据,那么就是 putExtra("key", value) 中的 "key"。