0
ソフトキーボードを使用してユーザーが完了をクリックしたときにキャッチしようとしています。次のコードは動作しませんが、ほぼ同じコードが別のページで動作しています。このコードで何が問題になっていますか?デバッガは、リスナーを呼び出さないことを示しています。それはlogin
関数を呼び出すのでもありません。IMEアクションをキャッチ
私はビューファイルにカスタムオプションを追加することを試みました。
//view
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_password"
android:inputType="textPassword"
android:maxLines="1"/>
//java, onCreateView (b is data binding)
b.password.setImeOptions(EditorInfo.IME_ACTION_DONE);
RxTextView.editorActionEvents(b.password)
.subscribe(a -> {
login();
});
//or old way is not working too
b.password.setOnEditorActionListener((v, actionId, event) -> {
login();
return false;
});
更新: 別の機能に文を移動すると動作します。
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
RxTextView.editorActionEvents(b.password)
.subscribe(a->{
login();
});
}
答えてくれてありがとう、しかし、動作しませんでした。 – MmtBkn