0

ニュースアプリケーションを作成していますが、ロード中にメインアクティビティをすぐにListViewに表示したくないので、スプラッシュアクティビティを作成しました。しかし、ロードがいつ行われたかを確認する方法がわかりませんが、アイデアが浮かびました。スプラッシュアクティビティから、メインアクティビティのListViewが空かどうかを確認できますか?

public class Init extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.init);

        WebView loader = (WebView) findViewById(R.id.loader);
        loader.loadUrl("file:///android_asset/index.html");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}
4

2 に答える 2

1

非同期タスクを使用する

非同期タスクを呼び出すスプラッシュ画面を作成します。非同期タスクはニュースアイテムをダウンロードする必要があります。onPostExecuteが呼び出されたら、メインビューに転送し、リストボックスにデータを入力します...

これには、進行状況(onProgressUpdateおよびpublishProgress)を表示するという利点があると思います。つまり、データの複数のソースを調べている場合、ダウンロードがいつ完了するかを決定するonPostExecuteメソッドがあります...

非同期タスクをキャンセルすることもできます...

それがあなたのニーズを満たすと思います...

于 2012-08-27T18:58:48.427 に答える
0

ページのダウンロードが終了した時期もお探しですか?その場合は、 WebViewClientサブクラスを作成し、それをWebViewにアタッチして、オーバーライドonPageFinished()を処理します。

于 2012-08-27T20:47:28.340 に答える