EditTextのFocusableについて

EditTextで、通常は編集が不能な状態にしておき、ボタンを押すことで編集ができるようになるという動作

XMLの設定

通常は編集が不能なEditTextの属性に追加する
初期状態、編集ができないようにする。
さらに、フォーカスも得られないようにする。

android:enabled="false"
android:focusable="false"

ボタンを押されたときの処理

EditText txtTitle = findById(R.id.txtTitle);
txtTitle.setFocusable(true);
txtTitle.setFocusableInTouchMode(true);
txtTitle.setEnabled(true);

はまった…!

フォーカスを得られるようにするためにEditText::setFocusable(:boolean)だけすればいいのかなと思ったけど、それだけだとタップでフォーカスが移ることはない。
EditText::setFocusableInTouchMode(:boolean)までしないといけないことに20分くらい気づかなかった。

追記

フォーカスと編集を有効にしたあとに、フォーカス移動すると
、ユーザに優しいですね。

txtTitle.requestFocus();