bundle = this.getIntent().getExtras();中的bundle为null
时间: 2024-05-13 22:20:05 浏览: 138
这种情况可能是因为Intent没有设置Extras导致的,或者是在调用getIntent().getExtras()方法时,Intent对象还没有被完全初始化。你可以先通过Log等方式打印出Intent对象,确认是否设置了Extras。如果Intent对象中没有设置Extras,可以通过以下方式设置:
```java
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("key", "value");
intent.putExtras(bundle);
```
如果Intent对象中已经设置了Extras,那么可以尝试在调用getIntent().getExtras()之前先调用一次getIntent()方法,以确保Intent对象已经被完全初始化:
```java
Intent intent = getIntent();
if(intent != null && intent.getExtras() != null) {
Bundle bundle = intent.getExtras();
// do something with bundle
} else {
// handle null case
}
```
相关问题
在 第一个activity 中代码如下Intent intent =new Intent(RegisterActivity.EXTRA_ACC); Bundle bundle=intent.getExtras(); String intentAcc=bundle.getString("user"); String intentPWD=bundle.getString("password");
这段代码有误,应该先创建一个Intent对象,并传入当前Activity和目标Activity的class,然后再通过Intent对象的putExtra方法添加需要传递的数据,最后调用startActivity方法启动目标Activity。正确的代码应该是这样的:
```
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("user", "username");
intent.putExtra("password", "123456");
startActivity(intent);
```
在目标Activity中,可以通过以下方式获取传递过来的数据:
```
String user = getIntent().getStringExtra("user");
String password = getIntent().getStringExtra("password");
```
需要注意的是,putExtra方法的第一个参数是一个键值对中的Key,用于在目标Activity中获取对应的Value。在获取数据时,需要确保Key的值和传递时的一致。
bundle bundle = getintent().getextras(); bigbinder bigbinder = (bigbinder) b
这段代码的含义是从Intent中获取Bundle对象,并将其转换成BigBinder对象。
首先,我们假设在某个Activity中调用了getIntent().getExtras()方法,该方法返回一个Bundle对象。Bundle是Android中的一种数据结构,用于存储和传递数据。这个Bundle对象包含了从其他地方传递过来的数据。
然后,通过将这个Bundle对象转换成一个自定义的BigBinder对象,使用强制类型转换((BigBinder) b)将Bundle对象赋值给BigBinder对象的变量bigbinder。
这里需要注意,前提是确保Bundle对象中包含的数据可以成功转换成BigBinder对象,否则会抛出ClassCastException异常。
总结起来,这段代码的作用是从Intent中获取Bundle对象,并将其转换成BigBinder对象,以便进一步处理和使用传递的数据。
阅读全文