0

私のProgressDialogは表示されていません。

コードは次のとおりです。

et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        public boolean onEditorAction(TextView v, int actionId,
                KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
                performSearch();
                return true;
            }
            return false;
        }

        private void performSearch() {
            ProgressDialog pd = null;
            pd = ProgressDialog.show(MainActivity.this, "Buscando...",
                    "Buscando " + et.getText() + " en GuiaColor");
            lv.setAdapter(new SearchAdapter(MainActivity.this, handler
                    .search(et.getText().toString(), 20)));
            pd.dismiss();
        }
    });

問題なく動作します。唯一の問題は、ダイアログが表示されないことです。

4

1 に答える 1

0

バックグラウンド スレッドでクエリを作成し、タスクが完了したらダイアログを閉じるには、次のコードを試してください。

    private void performSearch() {
        final ProgressDialog dialog = ProgressDialog.show(MainActivity.this, "Buscando...", "Buscando " + et.getText() + " en GuiaColor");

        new Thread() {
            public void run() {
                lv.setAdapter(new SearchAdapter(MainActivity.this, handler.search(et.getText().toString(), 20)));
                dialog.dismiss();
            }
        }.start();
    }
于 2012-07-31T15:54:13.073 に答える