MyException - 我的异常网
当前位置:我的异常网» Android » android多线程 UI无法更新?请问

android多线程 UI无法更新?请问(2)

www.myexceptions.net  网友分享于:2013-04-10  浏览:56次

    new String[]{"biaoti"}, 
    new int[]{R.id.stv00});   
      flv02.post(new Runnable(){
       public void run(){
     flv02.setAdapter(adapter);
  }});}}} 



结果到红色字体打印正常返回值;

然后就是:

Skipped 91 frames!  The application may be doing too much work on its main thread.

组件无法获取值,请问是怎么回事儿?
多线程 android UI更新

------解决方案--------------------
 adapter = new SimpleAdapter(
        xiancheng.this, 
     list3, 
     R.layout.lv02, 
     new String[]{"biaoti"}, 
     new int[]{R.id.stv00});   
     System.out.println("赋值"+list3); 
           flv01.post(new Runnable(){
           public void run(){
          flv01.setAdapter(adapter);

这些不要放子线程里操作
------解决方案--------------------
thread1.start();
       thread1.join();
这是什么意思 为什么启动线程了之后 还要再join一次?
------解决方案--------------------
flv02.setAdapter(adapter);线程里面不能有这样的ui操作,要handler出去
------解决方案--------------------
使用Handler刷新界面啊
------解决方案--------------------
1,主线程不能join子线程。开子线程的目的就是耗时的操作慢慢跑,主线程尽快返回。
2,子线程刷新UI用postInvalidate或者Handler。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有