标签: illegalstateexception

SnackBar 导致 ScrollView 崩溃并出现非法状态异常

我正在开发一个应用程序,其中我有一个用 ScrollView 包装的布局。在此布局的片段中,我正在使用 Web 服务从服务器获取数据并将其显示在我的布局中。每当 Web 服务中出现错误或没有可用数据时,我都会向用户显示一个带有相应消息的快捷栏。

问题

我遇到了一个很少发生的问题。当有时数据不可用并显示小吃栏时,我的应用程序崩溃并显示消息的非法状态异常

ScrollView can host only one direct child

这是崩溃日志

java.lang.IllegalStateException: ScrollView can host only one direct child
                                             at android.widget.ScrollView.addView(ScrollView.java:253)
                                             at android.support.design.widget.Snackbar.showView(Snackbar.java:475)
                                             at android.support.design.widget.Snackbar$1.handleMessage(Snackbar.java:162)
                                             at android.os.Handler.dispatchMessage(Handler.java:107)
                                             at android.os.Looper.loop(Looper.java:214)
                                             at android.app.ActivityThread.main(ActivityThread.java:6102)
                                             at java.lang.reflect.Method.invoke(Native Method)
                                             at java.lang.reflect.Method.invoke(Method.java:372)
                                             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Run Code Online (Sandbox Code Playgroud)

我在许多屏幕中使用这种组合,所以我只发布其中一个 xml 的布局代码

    <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="none">

    <LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/background"
        android:orientation="vertical"
        android:paddingBottom="20dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="10dp">

        <com.xsinfosol.emergency.progressbar.RopeProgressBar
            android:id="@+id/progress_bar1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            app:ropeDynamicLayout="true"
            app:ropePrimaryColor="@color/red"
            app:ropeSecondaryColor="#20FFFFFF"
            app:ropeSlack="0dp"
            app:ropeStrokeWidth="10dp" />

        <ImageView …
Run Code Online (Sandbox Code Playgroud)

android scrollview illegalstateexception android-snackbar

5
推荐指数
2
解决办法
1790
查看次数

为什么错误表明 Method 是在 .class 文件中发现的,但无法在 class object] 中解析,其根本原因是什么?

当我使用marven项目,编译项目时,出现下一个错误。我不知道为什么,希望有人能帮我解决问题,谢谢!

Servlet.service() for servlet [taotao-manager] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: Method [getItemList] was discovered in the .class file but cannot be resolved in the class object] with root cause
java.lang.NoSuchMethodException: com.taotao.controller.ItemController.getItemList(java.lang.Integer, java.lang.Integer)
    at java.lang.Class.getDeclaredMethod(Class.java:2130)
    at org.springframework.core.LocalVariableTableParameterNameDiscoverer$LocalVariableTableVisitor.resolveMember(LocalVariableTableParameterNameDiscoverer.java:245)
    at org.springframework.core.LocalVariableTableParameterNameDiscoverer$LocalVariableTableVisitor.visitEnd(LocalVariableTableParameterNameDiscoverer.java:231)
    at org.springframework.asm.ClassReader.readMethod(ClassReader.java:1024)
    at org.springframework.asm.ClassReader.accept(ClassReader.java:695)
    at org.springframework.asm.ClassReader.accept(ClassReader.java:508)
    at org.springframework.core.LocalVariableTableParameterNameDiscoverer.inspectClass(LocalVariableTableParameterNameDiscoverer.java:114)
    at org.springframework.core.LocalVariableTableParameterNameDiscoverer.getParameterNames(LocalVariableTableParameterNameDiscoverer.java:73)
    at org.springframework.core.PrioritizedParameterNameDiscoverer.getParameterNames(PrioritizedParameterNameDiscoverer.java:54)
    at org.springframework.core.MethodParameter.getParameterName(MethodParameter.java:437)
    at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.updateNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:139)
    at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.getNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:119)
    at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:86)
    at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:77)
    at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:162)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:129)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706)
    at …
Run Code Online (Sandbox Code Playgroud)

java illegalstateexception

5
推荐指数
1
解决办法
4768
查看次数

java.lang.IllegalArgumentException:setShowActionsInCompactView:操作 1 超出范围(最大 0)

我正在为 android 中的广播应用程序构建媒体样式通知。这是我的通知代码:

\n\n
NotificationCompat.Action action = new android.support.v4.app.NotificationCompat.Action.Builder(imgNotificationAction, "playPause", pendingIntent).build();\n    //create new notification\n    NotificationCompat.Builder notificationBuilder = (NotificationCompat.Builder) new NotificationCompat.Builder(this)\n            .setShowWhen(false)\n            .setStyle(new NotificationCompat.MediaStyle()\n                    .setMediaSession(mediaSession.getSessionToken())\n                    .setShowActionsInCompactView(0, 1, 2))\n            .setColor(ContextCompat.getColor(this, R.color.colorPrimary))\n            //.setLargeIcon(largeIcon)\n            .setSmallIcon(android.R.drawable.stat_sys_headset)\n            .setContentText(radioName)\n            .setContentTitle("Igala Radio presents")\n            .setContentInfo("Igala language radio")\n            .setContentIntent(pendingIntent)\n            .addAction(action);\n\n    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);\n    notificationManager.notify(NOTIFICATION_ID, notificationBuilder.build());\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我在 Log cat 中遇到以下异常:

\n\n
Caused by: java.lang.IllegalArgumentException: setShowActionsInCompactView: action 1 out of bounds (max 0)\n                                                                 at android.app.Notification$MediaStyle.makeMediaContentView(Notification.java:4493)\n                                                                 at android.app.Notification$MediaStyle.populateContentView(Notification.java:4427)\n                                                                 at android.app.Notification$Style.buildStyled(Notification.java:3894)\n                                                                 at android.app.Notification$MediaStyle.buildStyled(Notification.java:4415)\n                                                                 at android.app.Notification$Builder.build(Notification.java:3638)\n                                                                 at android.support.v4.app.NotificationCompatApi21$Builder.build(NotificationCompatApi21.java:132)\n                                                                 at android.support.v7.app.NotificationCompat$LollipopExtender.build(NotificationCompat.java:484)\n                                                                 at android.support.v4.app.NotificationCompat$NotificationCompatImplApi21.build(NotificationCompat.java:827)\n …
Run Code Online (Sandbox Code Playgroud)

android media-player android-notifications illegalstateexception

5
推荐指数
1
解决办法
3194
查看次数

java.lang.IllegalStateException:查看 ID 为 -1

我在Lenovo K50a40、OS 6.0 和其他一些设备的crashlytics中发现了以下崩溃日志。我无法从此日志中跟踪异常,也无法找到此异常来自我的应用程序的任何线索。我在社区中没有发现任何人之前遇到过类似的问题。如果您对此有所了解,请分享您的见解。

java.lang.IllegalStateException: View with id -1: android.support.design.widget.TabLayout$TabView#onMeasure() did not set the measured dimension by calling setMeasuredDimension()
    at android.view.View.measure(View.java:19199)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6124)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
    at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1275)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:650)
    at android.support.design.widget.TabLayout$SlidingTabStrip.onMeasure(TabLayout.java:1859)
    at android.view.View.measure(View.java:19169)
    at android.widget.HorizontalScrollView.measureChildWithMargins(HorizontalScrollView.java:1259)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
    at android.widget.HorizontalScrollView.onMeasure(HorizontalScrollView.java:315)
    at android.support.design.widget.TabLayout.onMeasure(TabLayout.java:1030)
    at android.view.View.measure(View.java:19169)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6124)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
    at android.support.design.widget.AppBarLayout.onMeasure(AppBarLayout.java:234)
    at android.view.View.measure(View.java:19169)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6124)
    at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:719)
    at android.support.design.widget.AppBarLayout$Behavior.onMeasureChild(AppBarLayout.java:1008)
    at android.support.design.widget.AppBarLayout$Behavior.onMeasureChild(AppBarLayout.java:787)
    at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:789)
    at android.view.View.measure(View.java:19169)
    at android.widget.RelativeLayout.measureChild(RelativeLayout.java:786)
    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:560)
    at android.view.View.measure(View.java:19169)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6124)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
    at …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception android-view android-tablayout

5
推荐指数
1
解决办法
2111
查看次数

带有 ViewPager 的 Android java.lang.IllegalStateException

我用 ViewPager 制作了一个非常简单的 Android 拼图应用程序,让用户可以浏览一系列拼图。我在生产中看到一个错误,我不知道如何重现或调试:

java.lang.IllegalStateException: 
  at android.support.v4.view.ViewPager.a (ViewPager.java:204)
  at android.support.v4.view.ViewPager.c (ViewPager.java:2)
  at android.support.v4.view.ViewPager.onMeasure (ViewPager.java:207)
  at android.view.View.measure (View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6580)
  at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
  at android.view.View.measure (View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6580)
  at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure (ActionBarOverlayLayout.java:257)
  at android.view.View.measure (View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6580)
  at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
  at android.view.View.measure (View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6580)
  at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1514)
  at android.widget.LinearLayout.measureVertical (LinearLayout.java:806)
  at android.widget.LinearLayout.onMeasure (LinearLayout.java:685)
  at android.view.View.measure (View.java:22002)
  at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6580)
  at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
  at com.android.internal.policy.DecorView.onMeasure (DecorView.java:721)
  at android.view.View.measure (View.java:22002)
  at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:2414)
  at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2159)
  at android.view.ViewRootImpl.doTraversal …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception android-viewpager

5
推荐指数
1
解决办法
2262
查看次数

Grails java.lang.IllegalStateException:getAttribute:会话已失效

我们的 grails 应用程序中出现java.lang.IllegalStateException: getAttribute: Session already invalidated少量错误。

我们尝试检查过滤器中的会话是否无效,如果是则重定向到同一页面,但这不起作用。看起来会话在请求过程中失效了。

处理此错误的正确方法是什么?我们应该在顶层放置一个错误处理程序并返回一些 http 状态吗?

grails tomcat jsessionid illegalstateexception

5
推荐指数
1
解决办法
2616
查看次数

Android P 预览上 toast 视图的 IllegalStateException

在尝试发布我的应用以进行生产时,预发布报告通知我 Pixel 2 Android P Preview 设备上出现错误。该错误与我拥有的自定义 Toast 消息有关,其中说“已将视图添加到窗口管理器”:

java.lang.IllegalStateException: View android.support.constraint.ConstraintLayout{efbeb21 V.E...... ......ID 0,0-788,1124 #7f0900db app:id/toast_correct_container} has already been added to the window manager.
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:328)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at android.widget.Toast$TN.handleShow(Toast.java:499)
at android.widget.Toast$TN$1.handleMessage(Toast.java:403)
at android.os.Handler.dispatchMessage(Handler.java:106)
at androidx.test.espresso.base.Interrogator.a(Interrogator.java:19)
at androidx.test.espresso.base.UiControllerImpl.a(UiControllerImpl.java:142)
at androidx.test.espresso.base.UiControllerImpl.a(UiControllerImpl.java:134)
at androidx.test.espresso.base.UiControllerImpl.a(UiControllerImpl.java:34)
at androidx.test.espresso.action.MotionEvents.a(MotionEvents.java:74)
at androidx.test.espresso.action.MotionEvents.a(MotionEvents.java:52)
at androidx.test.espresso.action.Tap.c(Tap.java:9)
at androidx.test.espresso.action.Tap.a(Tap.java:19)
at androidx.test.espresso.action.Tap$1.b(Tap.java:2)
at androidx.test.espresso.action.GeneralClickAction.perform(GeneralClickAction.java:22)
at androidx.test.espresso.ViewInteraction$SingleExecutionViewAction.perform(ViewInteraction.java:9)
at androidx.test.espresso.ViewInteraction.a(ViewInteraction.java:78)
at androidx.test.espresso.ViewInteraction.a(ViewInteraction.java:94)
at androidx.test.espresso.ViewInteraction$1.call(ViewInteraction.java:3)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) …
Run Code Online (Sandbox Code Playgroud)

android android-inflate illegalstateexception android-toast

5
推荐指数
1
解决办法
2231
查看次数

java.lang.IllegalStateException:未从 DecorView@5ab7e30[MainActivity] 中找到 ViewTreeLifecycleOwner

我按照文档将ComposeView直接包含在片段中而没有 xml 布局膨胀,但它给出了java.lang.IllegalStateException

请帮我解决这个问题。

Android Studio:2020.3.1 Canary 14

compose_version :'1.0.0-beta01'

这是片段的代码:

class RecipeListFragment : Fragment() {

private lateinit var viewModel: RecipeListViewModel

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View {
    return ComposeView(requireContext()).apply {
        setContent {
            Column(
                modifier = Modifier
                    .padding(16.dp)
            ) {
                Text(
                    text = "Recipe List",
                    style = MaterialTheme.typography.h3
                )
            }
        }
    }

}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    viewModel = ViewModelProvider(this).get(RecipeListViewModel::class.java)
}
Run Code Online (Sandbox Code Playgroud)

} …

illegalstateexception android-fragments kotlin android-jetpack android-jetpack-compose

5
推荐指数
1
解决办法
556
查看次数

IllegalStateException:当RecyclerView正在计算布局或滚动时,无法调用此方法

我想从我的项目中删除一个项目RecyclerView,但我总是收到错误.

java.lang.IllegalStateException:当RecyclerView正在计算布局或滚动时,无法调用此方法

我在用notifyDataSetChanged().我怎么解决这个问题?

这是我的适配器代码

public class ListAdapters extends RecyclerView.Adapter<ListAdapters.MyViewHolder> {

    public ArrayList<String> tvdatalist;
    Context c;
    int pos;
    ListAdapters.MyViewHolder myViewHolder;
    private LayoutInflater layoutInflater;
    int[] arr;

    public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {


        public EditText edttxt;
        public CheckBox cb;

        public MyViewHolder(View view) {
            super(view);

            edttxt = (EditText) view.findViewById(R.id.edttxt);
            cb = (CheckBox) view.findViewById(R.id.cb);
        }

        @Override
        public void onClick(View v) {

        }


    }

    public ListAdapters(Context c, ArrayList<String> tvdatalist) {
        this.c = c;
        this.layoutInflater = LayoutInflater.from(c);
        this.tvdatalist = tvdatalist;
        arr …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception android-recyclerview

4
推荐指数
1
解决办法
7011
查看次数

何时抛出IllegalStateException vs IllegalArgumentException?

让我们从Javadocs开始:

IllegalStateException异常

表示在非法或不适当的时间调用了方法.换句话说,Java环境或Java应用程序未处于所请求操作的适当状态.

抛出:IllegalArgumentException

抛出以指示方法已被传递非法或不适当的参数.

上述问题是它们非常黑白.考虑一种方法,其中方法正在解析调用者提供的文件.该文件存在,可读,格式正确.但是,文件中的某些内容不符合业务规则.在这种情况下抛出什么是适当的例外 - IllegalStateException或者IllegalArgumentException

查看提供断言的各种库,例如Guava Preconditions或Spring Assert,似乎没有达成共识.这里这里有一些很好的讨论,但没有一个能为我上面提到的常见用例提供确凿的答案.

免责声明:据我所知,我没有展示一些代码,但我认为这是一个特殊而实用的问题,需要考虑进行良好的API设计.让我们假装我们回到了堆栈溢出的好日子,当时人们乐于讨论实用问题,而不是贬低任何看起来不像家庭作业的东西.

java exception illegalargumentexception illegalstateexception

4
推荐指数
3
解决办法
5180
查看次数