活动暂停后ListView为空

时间:2014-11-27 01:42:01

标签: android listview android-activity onresume

所以我有这个活动:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_lista_hoteles);

    listaHoteles = (ListView) findViewById(R.id.listaHoteles);
    hoteles = new Operaciones(getApplicationContext()).getHoteles("");

    new CargarHotels().execute();
}

使用此Asynck任务:

class CargarHotels extends AsyncTask<Void, Void, Void> {

    protected void onPreExecute() {

    }

    @Override
    protected Void doInBackground(Void... arg0) {
        try {
                hotAdapter = new HotelesAdapter(getApplicationContext(), hoteles);
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {

                        listaHoteles.setAdapter(hotAdapter);

                    }
                });
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
当我进入这个活动时,一切顺利,列表视图显示酒店列表和他的评级,但每当我按下主页按钮并转到另一个应用程序(即Whatsapp,Facebook等),他们回到我的活动列表视图显示为空。

1 个答案:

答案 0 :(得分:0)

嗯,一个解决方案是让您的onResume()活动重新填充ListView。所以只需覆盖你的onResume()

@Override
public void onResume() {
    super.onResume();
    hoteles = new Operaciones(getApplicationContext()).getHoteles("");
    new CargarHotels().execute();
}