标签: illegalstateexception

ACRA可以用于图书馆项目吗?

ACRA本身就遇到了一个奇怪的问题:

IllegalStateException: Cannot access ErrorReporter before ACRA#init

我有一个ACRA 4.3.0的应用程序,完美的工作.我将整个应用程序更改为库,因此我可以进行小修改.我创建了一个完全空白的新项目,而不是清单和链接到这个新库.对于尝试此操作的任何其他人,在AcraApplication.java中,您必须删除"resToastText = R.string.crash_toast_text"行并在Acra.init(this)下面添加一个新行;

ACRA.getConfig().setResToastText(R.string.crash_toast_text);

该项目构建良好,在调试中我已经确认ACRA.init(this); 在我的主程序代码之前和错误发生之前运行.在主程序中,我们设置了一些自定义数据:

ACRA.getErrorReporter().putCustomData("Orientation", "L");

它会导致崩溃(或更准确地说,ACRA本身会导致错误)并且不会生成ACRA报告.

任何想法下一步尝试或指示在哪里看?可能是ACRA与库不兼容,如果是这种情况,我可以用不同的方式将它拉出来,但有点挫败了库的目的.


解决方案:Acra.init(this);在init行之前添加以下三行,而不是添加以下行:

ACRAConfiguration config = ACRA.getNewDefaultConfig(this); 
config.setResToastText(R.string.crash_toast_text);
ACRA.setConfig(config);

ACRA.init(this);
Run Code Online (Sandbox Code Playgroud)

请注意,这仅适用于v4.3.0及更高版本.

android init illegalstateexception acra

8
推荐指数
1
解决办法
1746
查看次数

IllegalStateException:DialogFragment无法附加到容器视图 - (在ActionBarActivity中)

在我的Activity(扩展android.support.v7.app.ActionBarActivity)中,我有一个片段,通常包含在我的视图中,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     >
     <fragment 
      android:name="com.fragments.SomeFragment"
      android:id="@+id/fragment_id"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

这很好用.

但是我决定将这个片段重用为对话框,所以我通过android.support.v4.app.DialogFragment(来自支持的库)扩展它.

没有任何其他更改我得到了例外

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ExampleActivity}: java.lang.IllegalStateException: DialogFragment can not be attached to a container view
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)

    Caused by: java.lang.IllegalStateException: DialogFragment can not be attached to a container view
at android.support.v4.app.DialogFragment.onActivityCreated(DialogFragment.java:364) …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception android-fragments android-dialogfragment android-actionbar-compat

8
推荐指数
1
解决办法
6239
查看次数

重启时.replace片段时出现IllegalStateException

FragmentTransaction.replace()用来交换碎片进出.该应用程序第一次启动没有问题.IllegalStateException由于savedInstanceState与提交新的片段事务之间存在冲突,因此在旋转设备时会抛出An .没有涉及AsyncTask.

一个StackOverflow问题建议将setContentView()呼叫置于其中onResumeFragments(),但这似乎没有效果.与...相同onPostResume().

另一个StackOverflow问题说要覆盖onConfigurationChanged().从某种意义上说,这是因为没有重新启动Activity,所以不会发生异常.但是,这可以防止具有不同纵向和横向布局的片段在这些布局之间切换.调用setContentView()onConfigurationChanged() 导致类似的错误(抛出:IllegalArgumentException:二进制XML文件行#25:复制ID为0x12345678,标记为空,或父ID与另一片段)

使用fragmentTransaction.commitAllowingStateLoss()而不是.commit()原因IllegalStateException:Activity已被销毁.

我如何让它工作?

更多异常信息:

了java.lang.RuntimeException:无法启动活动ComponentInfo {MYAPP/myap.MainActivity}:
android.view.InflateException:二进制XML文件行#25:myapp.MainActivity.onResumeFragments(MainActivity.java:450)错误充气类片段
引起by:java.lang.IllegalStateException:无法在myapp.fragments.FragmentChange.onFragmentChange(FragmentChange.java:128)的> android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1533)的onSaveInstanceState之后执行此操作at myapp.MainActivity.onNavigationDrawerItemSelected(MainActivity.java:490)myapp.fragments.NavigationDrawerFragment.selectItem(NavigationDrawerFragment.java:197)at myapp.fragments.NavigationDrawerFragment.onCreate(NavigationDrawerFragment.java:78)at myapp.MainActivity.onResumeFragments( MainActivity.java:450)

旋转设备时代码中的顺序是:

MainActivity.onPause()  
MainActivity.saveInstanceState()  
NavigationDrawerFragment.onSaveInstanceState()  
MainActivity.onStop()
MainActivity.onDestroy()
MainActivity.onCreate()
    super.onCreate(savedInstanceState);
MainActivity.onResumeFragments()
    setContentView()
NavigationDrawerFragment.onCreate()
MainActivity.onNavigationDrawerItemSelected()
     fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)

主要活动:

public class MainActivity extends AppCompatActivity implements
        NavigationDrawerFragment.NavigationDrawerCallbacks {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ...
    }


    @Override
    public void onNavigationDrawerItemSelected(int position) {
        ...
        FragmentChangeEvent fragmentChangeEvent …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception android-fragments

8
推荐指数
1
解决办法
1481
查看次数

android.media.audiofx.Visualizer每隔一次抛出异常

我正在为Android 2.3.3制作动态壁纸,它使用了Visualizer类.我已经有一个可用的Visualizer程序版本作为独立工作,但当我将代码放入动态壁纸服务时,我的问题就开始了.以下代码是错误存在的位置:

// Called in my Engine extension's constructor
public void setupVisualizer()
{
    mBytes = null;
    mVisualizer = new Visualizer(0);

    // EDIT
    mVisualizer.setEnabled(false); // This fixes the issue
    // END EDIT

    mVisualizer.setCaptureSize(
        Visualizer.getCaptureSizeRange()[1]); // IllegalStateException Thrown

    mVisualizer.setDataCaptureListener() {
        public void onWaveFormDataCapture(Visualizer visualizer,
            byte[] bytes, int samplingRate) {
                updateVisualizer(bytes);
            }
        public void onFftDataCapture(Visualizer visualizer,
            bytes[] bytes, int samplingRate) {}
        }, Visualizer.getMaxCaptureRate() / 2, true, false);

    mVisualizer.setEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)

这是奇怪的部分,当我浏览动态壁纸列表时,我会点击它来查看预览,它工作正常.如果不将其设置为活动壁纸,我会点击后退按钮,然后再次选择它并崩溃.我可以重复这个过程,它只会在其他时间崩溃并且在其他时间运行.如果我选择将其设置为活动壁纸,则每次都会崩溃.

java android visualizer illegalstateexception live-wallpaper

7
推荐指数
1
解决办法
3413
查看次数

表单验证播放框架2.0

我正在关注http://www.playframework.org/documentation/2.0/JavaForms上的教程

我已经创建了一个类LoginForm.java(而不是示例中的User.class.不是用于持久化的类,只是一个表单值持有者)

package domain;

import static play.data.validation.Constraints.*;

public class LoginForm {

        @Required
        public String email;
        public String password;

}
Run Code Online (Sandbox Code Playgroud)

在我的控制器中我做(作为示例),但我将值设置为空字符串以尝试@Required注释.

Form<LoginForm> loginForm = form(LoginForm.class);
Map<String,String> anyData = new HashMap();
anyData.put("email", "");
anyData.put("password", "");

//Faking a post
LoginForm postedLoginForm = loginForm.bind(anyData).get();

if(loginForm.hasErrors()) {
  //Just for this test task, should have another error handling..
  return ok("@Required annotation kicked in..");
} else {
  return ok("Got form values, email: " + postedLoginForm.email + " password: " + postedLoginForm.password);
}
Run Code Online (Sandbox Code Playgroud)

但在:

LoginForm postedLoginForm …
Run Code Online (Sandbox Code Playgroud)

java validation playframework illegalstateexception

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

创建新的Bufferstrategy时出现非法状态异常

当我试图弄清楚如何使用缓冲区策略时,整体上只是改进了我编写代码和清理内容的方式.当我运行以下代码时,我在"createBufferStrategy(3)"时出错

    package Game1Test;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferStrategy;
import java.io.IOException;

import javax.swing.*;

public class Base extends Canvas implements Runnable{

    private static final long serialVersionUID = 1L;
    private boolean running = false;
    int ticks = 0;

    public Base(JFrame f) {
        setSize(f.getWidth(),f.getHeight());
        start();
    }

    public void start(){
        running = true;
        new Thread(this).start();
    }
    public void stop(){

    }
    public void run(){
        while(running){
            ticks++;
            System.out.println(ticks);
            render();

                try {
                    Thread.sleep(2);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
        }
    }
    public void render(){ …
Run Code Online (Sandbox Code Playgroud)

java buffer illegalstateexception

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

Iterator.remove()IllegalStateException

在下面的代码中,我有一个try catch块,尝试使用Iterator从Vector中删除元素.我创建了自己的QueueExtendingVect扩展Vector和实现的类Iterator.

该变量qev1是类的实例QueueExtendingVect.我已经为这个Vector添加了一些元素.

try 
{
   qev1.iterator().remove();
}
catch(UnsupportedOperationException e) 
{
   System.out.println("Calling Iterator.remove() and throwing exception.");
}

qev1.enqueue(ci); 
qev2.enqueue(ci);
qcv1.enqueue(ci);
qcv2.enqueue(ci);

for (int i = 1; i < 5; i++)
{
   if (i % 2 == 0)
   {
       qev1.enqueue(new CInteger(i+1));
       qev2.enqueue(new CInteger(i+1));
       qcv1.enqueue(new CInteger(i+1));
       qcv2.enqueue(new CInteger(i+1));
   } 
   else 
  { 
       qev1.enqueue(new Date(i*i));
       qev2.enqueue(new Date(i*i));
       qcv1.enqueue(new Date(i*i));
       qcv2.enqueue(new Date(i*i));
   }
}
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我向Vector qev1添加了一些元素.其他变量在代码的其他部分.

但是,当我运行我的程序时,我在运行时得到一个IllegalStateException.我不确定这意味着什么.

java iterator illegalstateexception

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

android.app.LoadedApk.initializeJavaContextClassLoader中的IllegalStateException

请帮我解决这个问题.我刚刚从开发者控制台android vitals得到了这个.我不知道如何重现崩溃.我只想知道它为什么会发生,或者如果可能的话我该如何解决它.

java.lang.RuntimeException: 
  at android.app.LoadedApk.makeApplication (LoadedApk.java:612)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:4673)
  at android.app.ActivityThread.access$1500 (ActivityThread.java:162)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1409)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:135)
  at android.app.ActivityThread.main (ActivityThread.java:5422)
  at java.lang.reflect.Method.invoke (Method.java)
  at java.lang.reflect.Method.invoke (Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:914)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:707)
Caused by: java.lang.IllegalStateException: 
  at android.app.LoadedApk.initializeJavaContextClassLoader (LoadedApk.java:458)
  at android.app.LoadedApk.makeApplication (LoadedApk.java:604)
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception

7
推荐指数
0
解决办法
352
查看次数

java.lang.IllegalStateException:后端内部错误:代码生成过程中出现异常

我正在尝试新的 Jetpack compose,但是当我切换到 时kapt,出现此错误:java.lang.IllegalStateException: Backend Internal error: Exception during code generation.

它与 annotationProcessor 一起工作得很好,但我想在这个项目中使用 kapt。我将不胜感激。

我知道很多问题都会导致上述错误,但我认为这个问题是jetpackkapt

我在.gradle下面添加了我的文件:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"

    defaultConfig {
        applicationId "me.jerryhanks.pinchme"
        minSdkVersion 26
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

//        javaCompileOptions {
//            annotationProcessorOptions {
//                arguments = [
//                        "room.schemaLocation":"$projectDir/schemas".toString(),
//                        "room.incremental":"true",
//                        "room.expandProjection":"true"]
//            }
//        }
    }

    buildTypes …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception kotlin android-jetpack android-jetpack-compose

7
推荐指数
1
解决办法
2245
查看次数

MaterialAlertDialogBu​​ilder 在自定义视图 editText 上崩溃

尝试读取 editText 内容时 AlertDialog(Material) 崩溃。

警报对话框:

MaterialAlertDialogBuilder(activity)
            .setTitle(title)
            .setMessage(message)
            .setView(R.layout.dialog_settings_entry)
            .setPositiveButton(getString(R.string.text_change)) { dialog, which ->
                etUserInput.hint = message
                sgr = etUserInput.text.toString() // << crashes here
                dialog.dismiss()
            }
            .setNegativeButton(getString(android.R.string.cancel)) { dialog, _ ->
                dialog.dismiss()
            }
            .show()
Run Code Online (Sandbox Code Playgroud)

单击肯定按钮结果如下:

    java.lang.IllegalStateException: etUserInput must not be null
        at com.home.profile.SettingsFragment$buildAlertDialog$1.onClick(SettingsFragment.kt:332)
        at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
Run Code Online (Sandbox Code Playgroud)

etUserInput是在一个单独的布局简单EDITTEXT。不确定崩溃原因。希望对它有任何了解或任何有用的材料样本。

android android-edittext illegalstateexception material-dialog

7
推荐指数
1
解决办法
2470
查看次数