小编Shi*_*cal的帖子

无法在警告对话框线程中未调用Looper.prepare()的线程内创建处理程序

当我检查互联网连接并且没有互联网时,我的启动活动出错了.它可能发生在我的警报对话框中.

java.lang.RuntimeException: 
Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.<init>(Handler.java:200)                                
at android.os.Handler.<init>(Handler.java:114)                              
at android.app.Dialog.<init>(Dialog.java:108)                           
at android.app.Dialog.<init>(Dialog.java:148)             
at android.support.v7.app.AppCompatDialog.<init>(AppCompatDialog.java:43)           
at android.support.v7.app.AlertDialog.<init>(AlertDialog.java:95)                
at android.support.v7.app.AlertDialog$Builder.create(AlertDialog.java:927)        
at com.example.study.Splash.checking(Splash.java:66)
at com.example.study.Splash$2.run(Splash.java:51)
Run Code Online (Sandbox Code Playgroud)

我试过runOnUiThread()但它仍然没有用..这是我的启动代码

package com.example.study;

import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;

import com.example.study.helper.SessionManager;
import com.example.study.util.ConnectionDetector;

public class Splash extends AppCompatActivity {

    private ConnectionDetector cd;
    Boolean isInternetPresent = false;
    protected SessionManager session;

    private AlertDialog.Builder builder;


    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);


        builder = new AlertDialog.Builder(Splash.this);

        session …
Run Code Online (Sandbox Code Playgroud)

java android

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

java ×1