タグ

2013年2月26日のブックマーク (2件)

  • kasa0の部屋::ProgressDialogとAsyncTaskの甘い罠

    Androidでプログレスダイアログを出すときに、AsyncTaskを使用すると、とても簡単なのですが、ひとつ大きな落とし穴があります。 それは、ダイアログ表示中に実機の縦横を切り替えるとダイアログが消えてしまうのと、AsyncTaskの処理が終了した時点でIllegalArgumentExceptionが発生することです。 前者は、縦横切り替えすると画面の再構築が行われるため、それまで表示されていたダイアログが破棄されてしまうからです。 なので、画面が再構築されたときにAsyncTaskが処理中ならば、再度ダイアログを表示しなおしてやればよいです。 後者は、AsyncTask.onPostExecuteメソッドでProgressDialog.dismissメソッドを呼び出すときには、ダイアログを表示した親Activityが存在していないためです。 こちらも、ダイアログを再表示すればよいの

    kshibata101
    kshibata101 2013/02/26
    Asyncでプログレスダイアログ表示中は縦横切り替えに注意ね[android][AsyncTask]
  • ViewのIDが重複した場合 - 明日の鍵(跡地)

    疑問 androidのViewはidでインスタンスとったり、どのViewか判断したりと使います。 でもOKボタンなど汎用的な名前のID名は高確率で被ります。 同じ画面でOKボタンが複数ある場合はあまり考えられませんが、異なる画面にOKボタンがあるのはあるのではないかと思います。 今回は 異なる画面に同じIDのViewがあった場合 同じ画面に同じIDのViewがあった場合 の2つのパターンを試したいと思います。 異なる画面に同じIDのViewがあった場合 概要説明 画面1(MainActivity)から画面2(SubActivity)に遷移します。 画面1にはEditTextとButtonが配置されており、それぞれidはtxtMessageとbtnOK 画面2にはTextViewとButtonが配置されており、それぞれidはlblResultとbtnOK 画面1と画面2のButtonのidが

    ViewのIDが重複した場合 - 明日の鍵(跡地)