第一种可以更新
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_city_list);
initData();
initView();
getAllCities();
}
private void initData() {
dbManager = new DBManager(this);
dbManager.copyDBFile();
mCityAdapter = new CityListAdapter(CityPickerActivity.this, mAllCities);
}
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case COMPLETED:
mAllCities.addAll(tempAllCities);
mCityAdapter.notifyDataSetChanged();
break;
}
}
};
private void getAllCities() {
new Thread(new Runnable() {
@Override
public void run() {
tempAllCities = dbManager.getAllCities();
mHandler.sendEmptyMessage(COMPLETED);
}
}).start();
}
第二种,为什么没有效果
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_city_list);
initData();
initView();
getAllCities();
}
private void initData() {
dbManager = new DBManager(this);
dbManager.copyDBFile();
mCityAdapter = new CityListAdapter(CityPickerActivity.this, mAllCities);
}
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case COMPLETED:
mCityAdapter.notifyDataSetChanged();
break;
}
}
};
private void getAllCities() {
new Thread(new Runnable() {
@Override
public void run() {
mAllCities = dbManager.getAllCities();
mHandler.sendEmptyMessage(COMPLETED);
}
}).start();
}