zoukankan      html  css  js  c++  java
  • 【Android开发学习笔记】【随笔】UI线程

    概念


    UI线程 是Android中的主线程,涉及到UI方面的一些操作都需要在ui线程中进行操作

    在非ui线程中想操作ui,就会报错

    android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

    因此需要以下方法解决:

    方法一


        void fun() //非ui线程的函数
        {
            try
            {
                runOnUiThread(new Runnable()
                {
                    public void run()
                    {
                        //操作ui的代码
                    }
                });
            } catch (Throwable e)
            {
                e.printStackTrace();
            }
        }

    方法二


    private Handler handler = new Handler();
        
        void fun() //非ui线程的函数
        {
            new Thread()
            {
                public void run()
                {
                    handler.post(runnablefun);
                }
            }.start();
        }
        
        Runnable runnablefun = new Runnable()
        {
            @Override
            public void run()
            {
                // 执行ui 的代码
            }
        };
  • 相关阅读:
    Vim使用
    软件测试基础知识
    数字成像系统
    linux操作系统运行学习总结
    python算法学习总结
    Django Rest Framework框架
    mysql学习笔记一
    学习方法
    算法模板汇总
    习题练习1
  • 原文地址:https://www.cnblogs.com/by-dream/p/4359405.html
Copyright © 2011-2022 走看看