解决方案 »

  1.   

    新开一个线程对这个进行更新,handler什么的也都可以
      

  2.   

    textbox.setText(strI);
    就是这一块的UI更新,放到主线程(Activity)之外操作
      

  3.   

    UI更新只能在主线程中进行,你用handler去刷新UI 就好了
      

  4.   

    写个handler
        private Handler mHandler = new Handler(){        @Override
            public void handleMessage(Message msg) {
                switch(msg.what) {
                case UPDATE_TEXTVIEW:
                    textbox.setText(strI);
                    break;
                }
                super.handleMessage(msg);
            }
            
        };然后发送更新的消息就好了Message msg = new Message();
            msg.what = UPDATE_TEXTVIEW;
            mHandler.sendMessageDelayed(msg, 1000);
      

  5.   

    子线程发送消息给handler,handler会在主线程更新UI
      

  6.   

    不行啊 兄弟 
      @SuppressLint("HandlerLeak") private Handler mHandler = new Handler()
      {   
            @Override
            public void handleMessage(Message msg) {
             int i =1;
                switch(msg.what) {
                case UPDATE_TEXTVIEW:
                 if(i==1)
                    textbox.setText(strI);
                 i++;
                 if(i==2)
                 textbox.setText("KKKKKK");
                 if(i==3)
                 textbox.setText("DDDDDD");
                 if(i==4)
                 textbox.setText("UUUUUU");
                    break;
                }
                super.handleMessage(msg);
            }
             
        };
    for(int i = 0; i <li.size();i++)
    {
    int k = li.get(i);
    strI = Integer.toString(k);
    Message msg = new Message();
            msg.what = UPDATE_TEXTVIEW;
            mHandler.sendMessageDelayed(msg, 500);         
        
    } protected static final int UPDATE_TEXTVIEW = 0;
          public TextView textbox ;
        public String strI = " ";
    一直停留在kkkkk显示上 貌似没有刷新过
      

  7.   

    你把你的那个for循环放到onCreate方法中去另外在handleMessage方法中,有switch就不用你那么多的if判断了,或者直接用if也可以。
    要是还不行你把整个code贴上来帮你改