查找网址时如何创建微调器?

时间:2011-07-31 20:34:13

标签: android android-widget spinner android-webview progressdialog

我希望用户按下按钮。

当调用按钮的onClickListener时,我想显示一个微调器,直到获取该网页。

我不想使用AsyncTask,因为它只能运行一次,而且很可能用户在第一个网址结果被检索后会多次点击该按钮。

那么我将如何使用此onClickListener进行此操作?

findIT.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        item = game.getText().toString();
        getUserPreference();
        itemLookup.loadUrl(url);
    }
});

1 个答案:

答案 0 :(得分:2)

您仍然可以使用AsyncTask<>,每次都必须创建一个新的。

public void onClick(View v) {
    new DoWhateverTask().execute();
}

否则你可以使用Handler自己做。假设您已经为UI和工作线程定义了Handler

public void onClick(View v) {
    showProgress();
    workerThreadHandler.Post(new Runnable() {
        public void run() {
            doNetworkStuff();  // Which will post progress to the UI thread if needed.
            mainThreadHandler.Post(new Runnable() {
                public void run() {
                    hideProgress();
                }
            });
        }
    });
}

就个人而言,我认为AsyncTask是一个更好的解决方案。