質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.49%

  • Android

    6623questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

ProgressDialog を API26 でも使いたいです。何か方法はありませんか?

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 4,337

hiroppii

score 28

前提・実現したいこと

アプリをAPI26に対応させつつ、ProgressDialog を使いたいです。
もし、ProgressDialog がAPI26 では非推奨なら別の方法でも良いので何か良い方法はありませんか?

発生している問題・エラーメッセージ

アプリをAPI26に対応させたら、ProgressDialog が使えなくなってしまい困っています。

Android Studio で開くと ProgressDialog の部分に横線が引かれた状態です。

該当のソースコード

        // インスタンス作成
        waitDialog = new ProgressDialog(this);
        // タイトル設定
        // waitDialog.setTitle("タイトル表示部分");
        // メッセージ設定
        waitDialog.setMessage("メッセージ表示部分");
        // スタイル設定 スピナー
        waitDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        // キャンセル可能か(バックキーでキャンセル)
        waitDialog.setCancelable(true);
        // ダイアログ表示
        waitDialog.show();

試したこと

アプリをAPI25へ戻したら使えました。

補足情報(言語/FW/ツール等のバージョンなど)

targetSdkVersion 26
Android Studio 2.2

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+2

公式ドキュメントを読むと、次のように書いてあります。

This class was deprecated in API level 26.
ProgressDialog is a modal dialog, which prevents the user from interacting with the app. Instead of using this class, you should use a progress indicator like ProgressBar, which can be embedded in your app's UI. Alternatively, you can use a notification to inform the user of the task's progress.

つまり、ユーザーがアプリの操作をすることを妨げるものですので、非推奨になっていますね。
代わりに、プログレスバーを使うもしくは通知を使ってユーザーの行ったタスクの進行度を示してあげてください。と書いてあります。
あくまで個人的な実感ですが、ファイルのダウンロード系ですと通知で進行度を表すものが多くて、インターネット接続などを介してデータを読み込むときはプログレスバーが用いられる時が多いと感じます。

プログレスバーの実装方法などはこちらを参考になさると良いかと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/14 20:37

    情報、有難う御座います。助かります。
    プログレスバーを実装してみます。

    キャンセル

0

API 26でビルドしなければAndroid 8.0端末で動かないような縛りがあるわけではないですし、API 25でビルドして当座を凌ぐというのでは駄目なのでしょうか…?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/14 20:44

    回答有難う御座います。
    私も keicha_hrs さんが言うように、API 25でしばらくやってみると言うのは、考えたのですが別の方法が知りたかったと言うのもあったので、ベストアンサーは hiramekun さんにさせて頂きました。

    キャンセル

  • 2017/09/14 20:46

    了解です。消極的な回答過ぎましたね、申し訳ありません。

    キャンセル

関連した質問

  • 解決済

    指定日までのカウントダウン

    指定した日をダイアログボックスに入力し、ボタンを押下すると現在から指定までのカウントダウンを行うアプリを開発したいです。 インターネットの情報を参考に作成しようとしているので

  • 解決済

    入力された数を整数になるまで10倍する方法

    入力された確率通りに当たるくじを作りたいです。 その際に乱数を使おうと思ているのですが、確率が整数の時はよいのですが少数の時にどのようにすればよいのか悩んでいます。 思いついた

  • 解決済

    DialogFragment上からのグローバル変数へのアクセス

    DialogFragment上からのグローバル変数へのアクセスができません。 以下のようにApplicationクラスを継承した、グローバル変数のクラスを作りました。 pa

  • 受付中

    if文の中の変数に値を入れたい

    前提・実現したいこと NFC機能を用いてカード情報と他のクラスから入力したデータをPHPに送りたいのですが 入力したデータをPHPで出力するとnullが返ってきてしまいます。 et

  • 解決済

    TextViewのリサイズ

    TextViewでのリサイズについて教えてください。 まず、色々調べて見たのですが、TextViewにはリサイズプロパティみたいなものがないようで、TextViewを継承したク

  • 解決済

    webview「LINEで送る」エラー

    webviewの「LINEで送る」を機能させたいのですが、エラーが出てしまします。。 webview内にある「LINEで送る」ボタンを押すと以下のようなエラーメッセージが表示さ

  • 解決済

    AndroidStudioでスピナーを設定すると、アプリが強制終了します。

    Spinnerを設定して、エミュレータを立ち上げると、アプリが強制終了してしまいます。 記述が誤っているのだと思いますが、どこが誤りなのでしょうか。 activity_main

  • 解決済

    「パケージが存在しません」などのエラーの解決方法<Geofencing>

     前提・実現したいこと android studioで登録地点に近づくとプッシュ通知で お知らせされるアプリを作りたいと思っています。 (例 事故が多い交差点に差し掛かると通知が来

同じタグがついた質問を見る

  • Android

    6623questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。