android - 如何让 ProgressDialog 在应用程序启动时显示?

标签 android

又名,这段代码有什么问题:-

package com.mez.appofjaq;

import com.mez.appofjaq.RssParser.RssFeed;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.webkit.WebView;

public class AppOfJaq extends Activity {

    protected static final int REFRESH = 0;

    String streamTitle = "";
    protected ProgressDialog pd;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        pd.show(this, "Loading..", "Loading Feed");
        setContentView(R.layout.main);
        new Thread(new Runnable(){
            public void run() {
                loadFeed();
                pd.dismiss();
            }
        }).start();

    }

    private void loadFeed()
    {
        RssParser rp = new RssParser("http://shotofjaq.org/feed");
        rp.parse();

        RssFeed feed = rp.getFeed();

        if (feed.getItems() != null)
        {
            streamTitle = feed.getItems().get(0).content;
        }
        WebView result = (WebView)findViewById(R.id.result);
        result.loadData(streamTitle, "text/html", "utf-8");
    }

}

最佳答案

Macarse 和 alex 都是正确的(并且都缺少信息)。

Macarse 的代码是您需要用来让它工作的代码。它包括缺少的参数(末尾的 true 使其成为一个不确定的对话框)并通过调用 ProgressDialog.show 而不是 pd.show 修复了空指针异常 (NPE)。

我知道这本身并不完全是一个答案,但我认为这会帮助其他人了解为什么 alex 和 Macarse 的答案都是正确的。

由于上述原因,最终结果是您应该具有以下代码:

pd = ProgressDialog.show(this, "Loading...", "Loading Feed", true);

或者这个(如果你的字符串使用 strings.xml):

pd = ProgressDialog.show(this, getString(R.string.loading_title),
                         getString(R.string.loading_msg), true); 

关于android - 如何让 ProgressDialog 在应用程序启动时显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3136794/

相关文章:

Android WebView 使用 Android 操作系统版本设置自定义 UA

android - 我如何获得(或绕过)Android DPC 支持库?

android - 在 Android Studio 中运行单元测试时,类覆盖率和行覆盖率有什么区别?

android - 为什么这些 TD 元素中的字体以不同的大小呈现?

java - 如何使 SwipeRefreshLayout 不可滑动?

android - 如何动态地将 Style 设置为 RatingBar 以便在 Android 中创建自定义 SeekBar

android - 在哪里下载opencv-2.4.6.1-android-arm.jar和ffmpeg-2.0.1-android-arm.jar

android - RecyclerView 中的 AddMore 按钮未被删除

java - 如何用双引号 (","之间的逗号替换字符串中的所有逗号 (,)?

java - 如何使用反射实现回调?