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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Android

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

Q&A

解決済

2回答

2993閲覧

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

hiroppii

総合スコア38

Android

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

0グッド

0クリップ

投稿2017/09/13 15:18

編集2017/09/13 15:24

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

###発生している問題・エラーメッセージ
アプリをAPI26に対応させたら、ProgressDialog が使えなくなってしまい困っています。

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

###該当のソースコード

java

1 2 // インスタンス作成 3 waitDialog = new ProgressDialog(this); 4 // タイトル設定 5 // waitDialog.setTitle("タイトル表示部分"); 6 // メッセージ設定 7 waitDialog.setMessage("メッセージ表示部分"); 8 // スタイル設定 スピナー 9 waitDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 10 // キャンセル可能か(バックキーでキャンセル) 11 waitDialog.setCancelable(true); 12 // ダイアログ表示 13 waitDialog.show(); 14

###試したこと
アプリをAPI25へ戻したら使えました。

###補足情報(言語/FW/ツール等のバージョンなど)
targetSdkVersion 26
Android Studio 2.2

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

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

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/13 16:21

編集2017/09/13 16:22
hiramekun

総合スコア428

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroppii

2017/09/14 11:37

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

0

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

投稿2017/09/13 22:48

keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroppii

2017/09/14 11:44

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

2017/09/14 11:46

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問