我有一个像下面这样的BaseActivity ......其中我的接口全局对象在超类beame null。
public abstract class BaseActivity extends BaseTabActivity {
//did some implementation
}
public abstract class BaseTabActivity extends BasePickerActivity {
//did some implementation
}
public abstract class BasePickerActivity extends Activity {
// This is an interface
private IOnImagSelected iOnImagSelected;
public void imagePicker(IOnImagSelected iOnImagSelected){
this.iOnImagSelected = iOnImagSelected;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// process data and called iOnImagSelected
// Here I get null point which mean iOnImagSelected is null
iOnImagSelected.onImageSelected(imagepath)
}
}
现在我有一个像
这样的活动public class MyActivity extends BaseActivity implements IOnImagSelected {
public void onPickImageClick(View v){
imagePicker(this);
}
@Override
poublic void onImageSelected(){
}
}
为什么我的接口变量变为null。请帮帮我这个
答案 0 :(得分:1)
由于我的Google Nexus 7开发人员设置
上的此选项,我解决了所有问题转到设置 - >开发者选项
在APPS类别中(向下滚动查看),请参阅选项 不要保留活动(一旦用户使用它就会销毁每个活动)。
那个人。:)
答案 1 :(得分:0)
您将一个活动MainActivity
传递给BasePickerActivity
,但当BasePickerActivity处于活动状态时,MainActivity为null。基本上,您的代码无效;你应该使用Fragments来做这类事情。