Android startActivity抛出NullPointerException
我正在创建一个通过ChildActivity扩展的BaseActivity。 当我试图称之为星际触觉(意图)时,它正在发生 活动(儿童) 在基本活动中Android startActivity抛出NullPointerException,android,android-activity,android-lifecycle,Android,Android Activity,Android Lifecycle,我正在创建一个通过ChildActivity扩展的BaseActivity。 当我试图称之为星际触觉(意图)时,它正在发生 活动(儿童) 在基本活动中 public void openLoginActivity() { Intent intent = new Intent(this, com.example.mobile.LoginActivity.class); startActivity(intent); finish(); } 这是在SplashActivity调
public void openLoginActivity() {
Intent intent = new Intent(this, com.example.mobile.LoginActivity.class);
startActivity(intent);
finish();
}
这是在SplashActivity调用的代码:388我正在调用StatusResponse(预应答)
它有时只是投掷。我不知道为什么会这样
有人帮我 您正在使用第一个参数
this
创建一个意图。
在删除活动之后。
我认为系统无法找到变量this
的值
您不需要在startActivity()
之后启动finish()
。
垃圾收集器会在一段时间后删除未使用的变量。这就是它随机失败的原因
编辑:
我的错,我想你目前正在使用响应
,没有检查他是否存在。
因此,如果添加一个,如:
private void StatusResponse(Response response) {
JSONObject jsonResponse = response.response;
if (jsonResponse == null) {
restart();
return;
} else {
try {
openLoginActivity();
} catch (JSONException ex) {
restart();
return;
}
}
}
为什么要重写startActivity?删除您的意图声明中的包Intent=new Intent(这是LoginActivity.class);您是否在自己的线程中使用了startActivity
?但我在childActivity项目中使用了LoginActivity项目作为库。您能否在此处显示什么:SplashActivity.java:388我们可以在startActivity之前调用的finish()。这与垃圾收集器无关。如果是未经检查的响应访问,则调用堆栈的外观会有所不同。
@Override
public void startActivity(Intent intent) {
super.startActivity(intent);
}
private void StatusResponse(Response response) {
JSONObject jsonResponse = response.response;
if (jsonResponse == null) {
restart();
return;
} else {
try {
openLoginActivity();
} catch (JSONException ex) {
restart();
return;
}
}
}
if (response != null) {
JSONObject jsonResponse = response.response;
// SOME CODE
}