pandasでindexの最大値を取る
df.tail().index.max()
メモ:RxJavaの購読と解除のタイミング
今は薄いActivity + Fragmentの構成でMVVMをやることが多い。
その場合同じ画面の、Fragment、ViewModel、Model毎にCompositeDisposableを作って、onCreateView/onDestroyVIewのタイミングでそれぞれの購読解除をするという方式にすると良さそう。
databindingを新しくしたらvisibility周りの挙動が変わっていた
RxPropertyを使ってvisibilityの切り替えをする場合
android:visibility="@{viewModel.isVisiblememoHintTextViewRxProperty.value}"
みたいな形でbooleanを渡すだけで切り替えができていたのが、できなくなっていた。
しかも過去はできていた分エラー情報の少ないdatabindingのおかげでデバッグに詰まった。
xmlは不便だ。
<import type="android.view.View"/>
したうえで
android:visibility="@{viewModel.isVisiblememoHintTextViewRxProperty.value ? View.INVISIBLE : View.VISIBLE}"
とする必要がある。
Databindingは便利なんだけどデバッグの手間考えると使わなくていいんじゃないかって気がしている。
他アプリのパッケージ名とActivityの名前を取得する
他のアプリのActivityを開きたいときがあって、手っ取り早く見る方法。
Android端末を繋いでAndroid Studioを開くとログキャットが出る。
その状態で適当なアプリを開いて、ComponentInfoでログキャットを検索する。
あとは下記の通り。
RxPropertyでボタンを非活性にする
RxProperty
というライブラリを使っています。
これでdatabindingするのがとても楽です。
ボタンを非活性にするのにenabled=@{viewModel.isEnableButton.value}
みたいにやろうとして詰まりました。
このライブラリは本当によくできているので、rxCommand
が有効化かどうかで活性非活性をコントロールしてくれるので、enableとか書く必要無かったです。
このあたりを参考に
Androidで定数をどこに定義するべきか
Androidで定数をどこに書くか問題
これを見ると、コード内でのみ使う定数はxmlに書くべきじゃないみたい。 ユーザーに見えるstringはxmlに書くべき。
じゃあコード内でのみ使う定数はどこに書くか
yyyank.blogspot.com 定数クラスを使いましょうという話
定数をkotlinでどう書くか
const val
を使ったほうがいいよねって話らしい