ボタンがあります。ユーザーがクリックすると、UI全体(テキストビュー、グラフ)が更新されます。UI のコンテンツは SQLite データベースから取得されます。更新関数に loading() という名前を付けました。ご想像のとおり、loading() の内部には、多くのデータベース操作と UI の更新があります。データのサイズが大きくなると、このloading()が行われる時間が長くなるため、ボタンが押されたままの時間が長くなります。
この状況に対処するためにasynctaskを使用して、ボタンがフリーズする代わりにprogressdialogが出るようにしようとしましたが、doinbackground()は宣言されているUIコンポーネントに触れることができないため、asynctaskのdoinbackground ()にloading()メソッドを配置できませんそのアクティビティの onCreate() メソッドから。
loading() 関数を書き直したくありません。
そうする他の方法はありますか?? 助けてください。できれば、いくつかの例を挙げてください。感謝します。