【问题标题】:Make a transition between activitys在活动之间进行过渡
【发布时间】:2012-01-16 12:36:00
【问题描述】:

我需要做一个过渡屏幕,你只是放一个对话框,因为应用程序在创建数据库时会出现黑屏。

我有谷歌,并找到一些解决方案。其中之一就是在创建数据库时放置一个进度对话框。

我的问题,新手问题是,我在哪里放置进度对话框。

A -> BlackScreen -> B 其中 A 是初始菜单,B 是另一个屏幕。我试图将对话框放在 A 和/或 B 中但不起作用。那么我可以把进度对话框的代码放在哪里,让它显示在 BlackScreen 中?

【问题讨论】:

    标签: android dialog screen progress


    【解决方案1】:

    利用 Asyntask 。将创建数据库的数据库操作放在 asyntask 中,在执行前启动对话框中后执行取消对话框在后台执行数据库操作

    http://developer.android.com/reference/android/os/AsyncTask.html

    【讨论】:

    • 我已经用 Asyntask 试过了。但就像我说的,我是新手,不知道该怎么做。阅读了很多关于 AsyncTask 的内容,但没有设法让它发挥作用。所以我想到了一个简单的进度对话框。但这可能吗?顺便说一下,在那个黑屏上放一个进度对话框?谢谢
    • 如果您直接显示对话框并进行数据库操作,您的进度对话框和屏幕将挂起。您必须在后台执行该操作
    【解决方案2】:
    For that You have to use Async task : 
    
    class DownloadAsyncTask extends AsyncTask<String, String, Void>
        {
    
            ProgressDialog progressDialog;
    
    
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                progressDialog = ProgressDialog.show(Login.this, "", "Please Wait ...");
            }
    
    
    
            @Override
            protected Void doInBackground(String... arg0) {
    
                //Do your Task
            }
    
            @Override
            protected void onProgressUpdate(String...values){
                super.onProgressUpdate(values);
    
    
    
    
            }
    
            @Override
            protected void onPostExecute(Void result){
                super.onPostExecute(result);
                progressDialog.dismiss();
            }
    
        }
    

    //创建对象

    DownloadAsyncTask downloadAsyncTask = new DownloadAsyncTask(); 下载AsyncTask.execute();

    现在直到您的工作完成,它会在 doInbackground 中显示进度对话框,编写您的逻辑并 onPostExecute 关闭对话框并调用其他 Activity 的 Intent。

    【讨论】:

    • 我要试试。谢谢你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 2020-09-27
    相关资源
    最近更新 更多