Kotlin

Kotlin Coroutines Flowのcombine()とResult型の組み合わせ

Kotlin CoroutinesのFlowを使っていて複数のFlowをまとめるcombine 関数と Result型の組み合わせで躓いたメモ。 環境 Kotlin Coroutines: 1.3.7 combine関数について -> Asynchronous Flow - Kotlin Programming Language Result型について -> Result - Kotl…

AndroidプロジェクトでのUnitTest環境をセットアップする

(最近の)Androidのプロジェクトにおいて、新しくUnitTestを書くところまでのセットアップのトラブルシューティングを残しておく。 環境 Android Studio: v4.0 使用しているTest Libraryとversionは以下の通り "org.mockito:mockito-core:2.23.0" "com.nhaarm…

RecyclerViewへのitem追加時に java.lang.IndexOutOfBoundsException: Inconsistency detected

RecyclerViewにItemを追加しようと submitList() をすると java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder で落ちる時の対応。

RxJava convert to Kotlin/SAM conversion

RxJavaのコードを含むJava codeをKotlinにconvertしようとした時のメモ。SAM conversionができない例/その対処法など。

Single.fromObservableの挙動

RxJavaを使っているプロジェクトで、ObservableからSingleになんとなく変換して使っているコードを自分の周りでよく見かけていて、自分の理解と違う動きをしているケースがあったので挙動を確認していく。

アイコン付きButtonへのTips

アイコン付きのボタンを実装する機会が度々ある。drawableLeft で文字とは別でアイコンを設置するのではなくアイコンと文字を合わせて真ん中寄せにしたいことが多い。 ViewGroupで囲えば実現できるがもうちょっとスマートにできる方法がないか毎回思うので試…

Kotlin Coroutinesのasync/awaitの挙動を確認してみる

RxjavaのコードをCoroutinesで書き直せるのか?など調べていくうちにCoroutinesでの動き方に曖昧に理解しているところがあったので動かしてみた結果をメモしておく。 Kotlin version : 1.3.31 Coroutines version: 1.2.1