new Thread() { @Override public void run() { super.run(); provider = new AppInfoProvider(AppManager2Activity.this); mlistAppInfo = provider.getAppInfos(); Message msg = new Message(); msg.what = GET_ALL_APP_FINISH; handler.sendMessage(msg); } }.start(); private Handler handler = new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case GET_ALL_APP_FINISH: ll_loading.setVisibility(View.INVISIBLE); adapter = new MyAdapter(mlistAppInfo, AppManager2Activity.this); lv_app_manager.setAdapter(adapter); break; } } };