- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 Android 8.1 和 9.0 版中运行我的应用程序时,出现“AdapterView 不支持 removeView(View)”异常。在以前的版本中它运行良好。虽然错误是一致的,但它不会 100% 地发生(这让我怀疑这是一个线程问题),也不是特定于特定的适配器或 ListView 。例如,我从多个 Activity 访问相同的代码,它对某些人来说工作正常,但对其他人总是失败。我还应该指出,在出现错误的任何情况下,我都不会调用 removeView。以下是异常的 LogCat 输出:
java.lang.UnsupportedOperationException: removeView(View) is not supported in AdapterView
at android.widget.AdapterView.removeView(AdapterView.java:531)
at android.view.ViewOverlay$OverlayViewGroup.add(ViewOverlay.java:195)
at android.view.ViewGroupOverlay.add(ViewGroupOverlay.java:72)
at android.transition.TransitionUtils.createViewBitmap(TransitionUtils.java:170)
at android.transition.TransitionUtils.copyViewImage(TransitionUtils.java:104)
at android.transition.Visibility.onDisappear(Visibility.java:380)
at android.transition.Visibility.createAnimator(Visibility.java:249)
at android.transition.Transition.createAnimators(Transition.java:732)
at android.transition.TransitionSet.createAnimators(TransitionSet.java:396)
at android.transition.Transition.playTransition(Transition.java:1779)
at android.transition.TransitionManager$MultiListener.onPreDraw(TransitionManager.java:315)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:977)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2349)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
at android.view.Choreographer.doCallbacks(Choreographer.java:723)
at android.view.Choreographer.doFrame(Choreographer.java:658)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
谁能指出我的解决方案?
最佳答案
我最终继承了 ListView 并用空方法覆盖了 removeView 和 addView。我怀疑这是解决此问题的正确方法,但它确实有效。
关于AdapterView 不支持 Android 8.1/9.0 removeView(View),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54047971/
我有以下代码,一切正常。除了删除 View 不起作用。我的代码有什么问题?删除 View 在动画中不起作用吗? 在我的oncreate上 @Override protected void on
我有一个布局(主要),当我单击一个按钮时,它会显示一个带有 TextView 和编辑文本的 RelativeLayout (newLayout)。但是当我想离开那个 RelativeLayout (点
我有一个带有编辑文本区域的警告对话框。当我第二次调用它时,应用程序崩溃并出现错误: 02-28 23:25:08.958: E/AndroidRuntime(11533): java.lang.Ill
我有一个应用程序,我在其中为列表中的 friend 数量动态添加按钮。我可以添加 1 个 friend 并查看 friend 列表。但是,当我添加第二个 friend 并尝试查看 FriendList
我正在尝试使用 ViewPager 处理我的 Fragment,但出现此错误: LogCat: 12-19 14:16:25.180: I/mFragment(5866): onCreate() Lo
我想在单击 ImageView 时从 listView 中删除特定行。我的 ListView 如下所示: 我希望在单击最后一张图像时删除该行。这是我的适配器: public class UserIte
我正在尝试动态删除 Android 中 LinearLayout 中的一些组件。我实现的逻辑是:如果有人单击我的(侧边栏)Fragment 中的一个按钮,我将启动一个动画,将单击的 Button 向上
我想知道是否有人可以向我解释为什么在展开布局时,如果指定了 ViewGroup,则稍后的 removeView() 什么都不做。即: 在onCreate中: currentView = thi
我有一个 MyLinearLayout 子类扩展了 ViewGroup,它使其中的 View 自动换行。 public class MyLinearLayout extends ViewGroup {
我正在我的主页上发出警报。 addError(title,message){ const alert = this.alertCtrl.create({ 'title': ti
我有以下代码: protected View progressView; protected LayoutParams progressParams; class Task extends Async
我有一个 Activity 可以打开带有 View 寻呼机的 fragment 。当我在选项卡之间切换时,出现此错误:指定的子项已有父项。您必须先对 child 的 parent 调用 removeV
先介绍一点背景: 我在 ScrollView 中有一个布局。首先,当用户在屏幕上滚动时, ScrollView 会滚动。但是,经过一定量的滚动后,我要禁用 ScrollView 上的滚动,将“滚动焦点
我的 Ionic 应用程序运行良好,但我没有对它做任何事情,但突然我收到此错误,我不知道为什么。 "Error: Uncaught (in promise): removeView was not f
伙计,我正在创建一个聊天应用程序。我的短信已成功上传,但这次我尝试将图像上传到我的聊天应用程序到服务器时出现一些错误。 即:java.lang.IllegalStateException: 指定的 c
我想添加一个 textview 和一个 checkbox 到 linearlayout View : for(int i = 0 ; i ... 但是我得到这个错误: java.lan
我在自定义对话框中显示 map 。第一次单击对话框 map 中的 Showmap 按钮时工作正常。但是当我第二次点击它时它崩溃了。我正在 fragment 中创建对话框。下面是我写的代码。 expan
我在 Android 创建动态添加行的表时遇到问题。错误信息是: The specified child already has a parent. You must call removeView(
大家好,首先抱歉我的英语不好(我不是母语人士),我知道这个问题之前已经被问过好几次了。由于解决方案非常个性化,我有点困惑。 问题是:我正在尝试向 LinearLayout 添加多个 View (Tex
当在 recyclerview 中点击一个项目时,我称之为 appbar.removeView(tabs) This视频展示了发生了什么 似乎完全没有动画就把TabLayout去掉,然后加回去,再用动
我是一名优秀的程序员,十分优秀!