0

我正在使用 ListActivity 并使用适配器填充列表视图,如下所示:

// SimpleAdapter adapter = ...
setListAdapter( adapter );
setContentView( R.layout.main );

ListView lv = getListView();

lv 似乎有零个孩子,即使我用布局中的孩子填充它并且适配器中有很多项目。我注意到,如果我等待一段时间——当列表视图完全呈现时——它确实有孩子。当列表视图完全可以使用时,我如何获得通知?

4

1 回答 1

1

您可以使用 AsyncTask 在后台填充列表,然后在加载完成后通知自己。

class MyTask extends AsyncTask<Context, Integer, String> {

    m_loaded = false;

    @Override
    protected String doInBackground(Context... params) {
        Log.d("doinBackground", "here");

        // do your loading

        return "";

    }

    // -- gets called just before thread begins
    @Override
    protected void onPreExecute() {
        super.onPreExecute();

    }

    // -- called as soon as doInBackground method completes
    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);

        m_loaded = true;  //your list is done loading
    }
}
于 2012-09-04T01:39:28.037 回答