Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android startActivity抛出NullPointerException_Android_Android Activity_Android Lifecycle - Fatal编程技术网

Android startActivity抛出NullPointerException

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调

我正在创建一个通过ChildActivity扩展的BaseActivity。 当我试图称之为星际触觉(意图)时,它正在发生

活动(儿童)

在基本活动中

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
}