android - CalledFromWrongThreadException

标签 android

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final ThraedDemo objDemo = new ThraedDemo();
    Thread objThread = new Thread() {

        @Override
        public void run() {

            objDemo.firstMethod();
        }
    };
    objThread.start();
}


class ThraedDemo {

        private void firstMethod() {
            Thread objThread = new Thread() {

                @Override
                public void run() {
                    try {
                    ((ImageView)findViewById(R.id.ImageViewnumber)).setImageResource(nums[n]);

                        Thread.sleep(10000);
                        Log.v("Thread","1111111111111111sleep");
                    } catch (InterruptedException ex) {
                        System.out.println("interuped exception" + ex.getMessage());
                    }
                    secondMethod();
                }

                private void secondMethod() {
        Thread objThread = new Thread() {

            @Override
            public void run() {
                try {
                ((ImageView)findViewById(R.id.ImageViewResult)).setImageResource(nums[n+1]);

                n++;

                    Thread.sleep(10000);
                   Log.v("Thread","22222222222 sleep");
                } catch (InterruptedException ex) {
                    System.out.println("interuped exception" + ex.getMessage());
                }
                firstMethod();
            }
        };
        objThread.start();
    }

            };
            objThread.start();
        }

    }

我使用上面的代码,但它没有运行。它得到 CalledFromWrongThreadException 上面代码中的问题是什么。请给我一些建议。提前致谢

最佳答案

我认为您不能从 UI 线程以外的其他线程进行 View 修改,因此要么创建 handlers在 oncreate 中发布你的线程,或者使用 AsyncTask , 或 runOnUIThread将部分代码直接发送到 UI 线程的方法。

关于android - CalledFromWrongThreadException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3413544/

相关文章:

android - android中的浏览器检测

android - Android 模拟器上的 Google 日历

java - 如何在 ARCore 中提高预览相机质量

android - Spinner 没有添加数据库中的所有主题

android - 是否可以使用 OpenGL 在 RGB888 中进行渲染?

android - 我应该如何实现具有波纹效果的按钮背景颜色

android - 无法解析方法 setClient(okhttp3.OkHttpClient)

android - fragment onHiddenChanged 未调用

android - 视频播放的掉帧问题

安卓。当子 Activity 完成时,在父 Activity 中执行一些操作