java.lang.IllegalArgumentException :at android. view.Surface.unlockCanvasAndPost( native 方法)

标签 java android illegalargumentexception surfaceholder

这个问题我找了两天了。我知道这是由一些愚蠢的错误引起的,但我找不到那个东西。如果有人帮助我,那就太好了。这是 fragment

private void draw() {
        final SurfaceHolder holder = getSurfaceHolder();

        Canvas c = holder.lockCanvas();;

        try {
            update(c);
            updateText(c);     //These are the effects like snowing or bouncing
        } finally {
            if (c != null)
                holder.unlockCanvasAndPost(c);   //This is line no. 151
        }

        mHandler.removeCallbacks(drawRunner);
        if (mVisible) {
            mHandler.postDelayed(drawRunner, 10);
        }
    }

我认为问题出在上述方法中。这是日志猫:

 11-18 11:29:15.145: E/AndroidRuntime(2845): java.lang.IllegalArgumentException
11-18 11:29:15.145: E/AndroidRuntime(2845):     at android.view.Surface.unlockCanvasAndPost(Native Method)

11-18 11:29:15.145: E/AndroidRuntime(2845):     at com.android.internal.view.BaseSurfaceHolder.unlockCanvasAndPost(BaseSurfaceHolder.java:215)

11-18 11:29:15.145: E/AndroidRuntime(2845):     at com.example.livewallpaper.SnowEffect$MyBounce.draw(SnowEffect.java:151)

11-18 11:29:15.145: E/AndroidRuntime(2845):     at com.example.livewallpaper.SnowEffect$MyBounce.access$0(SnowEffect.java:141)

11-18 11:29:15.145: E/AndroidRuntime(2845):     at com.example.livewallpaper.SnowEffect$MyBounce$1.run(SnowEffect.java:55)

最佳答案

问题解决了。

如果有人遇到同样的问题,这里是解决方案,这是一个非常愚蠢的错误。更新您的 list 文件。

<activity
      android:name="com.yourpackage.Prefs"
      android:exported="true" >
      <intent-filter>
           <category android:name="android.intent.category.PREFERENCE" />
      </intent-filter>
</activity>

不要忘记添加 android:exported="true"。我真的错过了!

关于java.lang.IllegalArgumentException :at android. view.Surface.unlockCanvasAndPost( native 方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26987728/

相关文章:

java - 将 firebase 数据库编号从升序到降序排序

android - Android KitKat 及更低版本上的资源$NotFoundException

android - 使用 Scribe 进行 OAuth 请求时如何解决 java.io.EOFException?

events - 事件发生时出现 IllegalArgumentException,javafx

java - 升序子字符串编译错误

java - 将图像加载到 JPanel 不起作用

java - 无法使用 cassandra 启动 titan - IllegalArgumentException

java - IllegalArgumentException Surface.nativeLockCanvas,编排器,BufferQueue

java - 在我的客户端代码中获取通知

android - 致命异常 : Main eclipse error