zoukankan      html  css  js  c++  java
  • 关于线程和更新UI线程的笔记

    情景1:

    向数据库中插入10000条数据的结果:

    		  testData();//插入10000条数据
    		  list = blackdao.findAll(); 
    		  blackAdapter = new BlackAdapter();
    		  lv_black.setAdapter(blackAdapter);
    		 
    

    情景2

     //使用线程插入数据,

    		new Thread() {
    			public void run() {
    				testData();// 插入10000条数据
    			};
    		}.start();
    
    		list = blackdao.findAll();
    		blackAdapter = new BlackAdapter();
    		lv_black.setAdapter(blackAdapter);

     

     注意:但是结果要重新退出,然后加载才会有数据,也就是说list中的数据没有更新

    情景3:使用线程,用其他线程中的方法更新UI主线程

    new Thread() {
    			public void run() {
    				list = blackdao.findAll();
    				runOnUiThread(new Runnable() {
    					public void run() {
    						blackAdapter = new BlackAdapter();
    						lv_black.setAdapter(blackAdapter);
    					}
    				});
    
    			};
    		}.start();
    

     情景4:使用线程,用hanlder更新UI主线程

    	final Handler handler = new Handler() {
    
    			public void handleMessage(Message msg) { // TODO
    				String s = (String) msg.obj;
    				if ("ok".equals(s)) {
    					Toast.makeText(CallSmsSafeActiviy.this, "ok", 0).show();
    					blackAdapter = new BlackAdapter();
    					lv_black.setAdapter(blackAdapter);
    				}
    
    			}
    		};
    
    		new Thread() {
    			public void run() {
    				list = blackdao.findAll();
    				Message msg = new Message();
    				msg.obj = "ok";
    				handler.sendMessage(msg);
    
    			};
    		}.start();
    
  • 相关阅读:
    如何判断第一个节区头的RVA
    从可执行文件中删除.reloc节区
    动态规划(dynamic programming)
    Ubuntu18安装SQL server
    Ubuntu16.04突然断网
    [Toddler's Bottle]做题记录
    BUU | pwnable_orw
    BUU| 基础破解
    web.xml
    PKIX
  • 原文地址:https://www.cnblogs.com/childhooding/p/4516062.html
Copyright © 2011-2022 走看看