首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示ProgressDialog OnItemClick

显示ProgressDialog OnItemClick
EN

Stack Overflow用户
提问于 2011-11-27 05:40:08
回答 2查看 505关注 0票数 0

我有一个用JSON检索项目列表的ListView,我想在项目点击时显示一个ProgressDialog。

代码语言:javascript
复制
listNews.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View v, int position,
                    long arg3) {
                ProgressDialog dialog;
                dialog = ProgressDialog.show(v.getContext(), "Please wait..", "Loading data", true);
                dialog.setCancelable(false);
                dialog.show();
                News n = (News)listNews.getItemAtPosition(position);

                Intent myIntent = new Intent(v.getContext(), SingleActivity.class);
                myIntent.putExtra("actu_id", n.ID);
                dialog.dismiss();
                startActivityForResult(myIntent, 0);


            }

        });

ProgressDialog未显示...当我在SingleActivity.class中的OnCreate中定义此progressDialog时,也会出现同样的问题

你能帮我吗?

对不起,我的英语...

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-27 06:42:29

这是一个与您的工作流程相关的问题。因为您在UI线程上执行额外的任务,所以不会显示ProgressDialog。

您应该创建一个线程来执行额外的工作,然后关闭对话框,并使用runOnUiThread()或处理程序启动新的意图。

不过,最好的选择是使用AsyncTask,显示您的ProgressDialog onPreExecute(),在doInBackground()中完成您的工作,然后关闭它onPostExecute()并启动您的新活动。

票数 0
EN

Stack Overflow用户

发布于 2011-11-27 05:42:49

我想是因为你马上就否定了它。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8281835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档