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 に答える