Android(Kotlin) ViewPager2 のメモリリーク回避2021/2/4AndroidKotlinメモリリークはじめに ビューバインディングを学習した際に、公式ドキュメントに下記の通り記述されているのを確かに読んだのですが、 注: フラグメントはビューよりも持続します。フラグメントの onDestroyView() メソッドでバインディング…
Android(Kotlin) RecyclerView で PopupMenu(データバインディング方式)2021/2/2AndroidKotlinはじめに 各概念毎のサンプルコードはよく見かけても、複数組み合わせた場合のサンプルコードってあまりなかったりしますよね。今回は RecyclerView と PopupMenu とデータバインディングを組み合わせたのですが、多少試行錯誤したので、まとめておきます。 前提 実装する…
Android(Kotlin) Fragment にコールバックをセットする無難な方法2020/11/13AndroidKotlinはじめに 画面回転でタップが効かなくなるバグに遭遇し、Fragment にコールバックをセットする方法を改めて考えさせられました。最初に結論を言ってしまうと、多少面倒でも良く見かける下記方式を実直に実装するのが無難で良いかと考えています。 参照が循環しないようにリスナーインター…
Android(Kotlin) DialogFragment 表示時にソフトキーボードも表示2020/9/24AndroidKotlinはじめに DialogFragment でのソフトキーボード表示処理にハマったので備忘録です。 詳細 やりたいこと ダイアログ表示直後に、ダイアログ内に存在する入力可能領域にフォーカスし、ソフトキーボードも表示する。 初期実装 まず、ドキュメントを参考に下記の通り実装しましたが…
Android(Kotlin) MaterialDatePicker を日本語化して期間選択2020/9/23AndroidKotlinはじめに 過去記事で DatePickerDialog に触れましたが、使いづらく、期間指定にも対応していませんでした。 そんな中、期間指定にも対応した MaterialDatePicker という新パッケージを知ったので試してみます。 実装内容 概要 アクティビティから…
Android(Kotlin)で ZonedDateTime を使う2020/9/18AndroidKotlinはじめに 日時処理をまあまあ記述しなければいけない場合、java.util.Calendar しか使えないのは(使いづらくて)辛いなーと思います。java.time.ZonedDateTime で代替できそうなので試してみます。 実装内容 概要 デフォルトでは使えない java…
Android(Kotlin)LiveData でデータバインディング2020/9/14AndroidKotlinはじめに Android 開発経験を一定積むと、findViewById メソッドを使って要素を取得した上で、(監視付きで)表示用値セット、イベントハンドリング等、処理を記述していくことに疲れてくる訳ですが、そんな時に嬉しいデータバインディングという仕組みがあります。 ただ…
Android(Kotlin)日付・時間選択ダイアログ2020/9/3AndroidKotlinはじめに ユーザーに日付、時間を選択させたい場合、DatePickerDialog と TimePickerDialog を利用するのが良いと思います。ただ、ドキュメントにもそれぞれの使い方が記載されてはいるんですが、実際に使えるレベルまで実装するとプラスアルファで色々あったので…
Android(Kotlin)Navigation 通知タップで遷移2020/9/1AndroidKotlinはじめに 過去の記事で 、Navigation コンポーネントでアプリバーを実装しました。今回は「通知タップで目的のデスティネーションへ遷移」を実装してみます。 (後述する差分は前述記事からの差分になります)。 実装内容 概要 通知タップアクションと遷移を紐付けるには、ドキュメ…
Android(Kotlin)AlarmManager の壁2020/8/31AndroidKotlinはじめに Android で時間指定処理(一定時間経過後のローカル通知等)をやろうと思ったらまず立ち塞がるのが AlarmManager です。API Level 毎の差異が複数あって、取っ付きづらいので、ざっくり調査内容をまとめておきます。 調査 前提 本記事においては、デバイ…
Android(Kotlin)Navigation アプリバー対応2020/8/29AndroidKotlinはじめに 前回 、Navigation コンポーネントで画面遷移を実装しました。今回はアプリバーも対応してみます (後述する差分は前回の記事からの差分になります)。 実装内容 概要 対応内容は下記のの通りです。 アプリバー表示 アプリバー内に該当画面名を表示 アプリバー内に戻…
Android(Kotlin)Navigation はじめの一歩2020/8/27AndroidKotlinはじめに アプリバーを実装したくて色々調べていたら、 Navigation コンポーネントの存在を知りました。 ドキュメントを見る限りは便利そうだったので、導入検討のため、最低限の画面遷移処理を実装してみました。 実装内容 Gradle Gradle プラグインを追加するので…
No Activity な Android(Kotlin)プロジェクト2020/8/26AndroidKotlinはじめに Android プロジェクトを作成する際には、自動生成されたファイルをたいして理解せずに使っていたのですが、ちゃんと理解しようと思い、最小構成であろう Project Template No Activity を深掘りします。 調査内容 プロジェクト作成条件 Andro…