ボタンをクリックして編集テキストにフォーカスをプログラムで設定および削除する方法

アンドロイド

編集テキストが1つあり、ボタンがクリックされたらフォーカスを設定したいのですが、ソフトキーボードでEnterキーまたはDoneを押したときにステータスを編集した後、フォーカスを再度削除してサーバーにリクエストを送信します。

これがXMLの編集テキストです

<EditText
                android:id="@+id/time_statusTV"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/selectIBT"
                android:layout_alignLeft="@+id/profile_name"
                android:layout_toLeftOf="@+id/add_timeline_status_IBTN"
                android:layout_toRightOf="@+id/image_profile"
                android:background="@android:color/transparent"
                android:focusable="false"
                android:maxLines="2"
                android:text="short description of \nyourself that can go\nover 2 lines."
                android:textColor="@color/text_color_gray"
                android:textSize="18sp" />

ここで私がボタンクリックで何をしているのか

case R.id.add_timeline_status_IBTN:
        time_statusTV.setFocusable(true);
        time_statusTV.requestFocus();

        break;

これが私の編集テキストキーイベントです

time_statusTV = (EditText) rootView.findViewById(R.id.time_statusTV);
    time_statusTV.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
            if ((event.getAction() == KeyEvent.ACTION_DOWN)
                    && (keyCode == KeyEvent.KEYCODE_ENTER)) {

                // My code

                time_statusTV.clearFocus();
            }
            return false;
        }
    });

しかし、ボタンをクリックしても何も起こりません。

mmlooloo

フォーカスの設定とキーボードの表示と非表示を混同していると思いますので、私の答えを試してください。

 case R.id.add_timeline_status_IBTN:

    time_statusTV.setFocusable(true);
    time_statusTV.requestFocus();
    InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
    imm.showSoftInput( time_statusTV, 0);

そしてそれをクリアするために:

imm.hideSoftInputFromWindow(your edittext.getWindowToken(), 0);

したがって、コードは次のようになります。

  time_statusTV = (EditText) rootView.findViewById(R.id.time_statusTV);
  time_statusTV.setOnKeyListener(new OnKeyListener() {

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        if ((event.getAction() == KeyEvent.ACTION_DOWN)
                && (keyCode == KeyEvent.KEYCODE_ENTER)) {


            imm.hideSoftInputFromWindow( time_statusTV.getWindowToken(), 0); 
            time_statusTV.clearFocus();
        }
        return false;
    }
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ボタンをクリックすると、プログラムでテキストフィールドにフォーカスが移動します

分類Dev

ビットマップエフェクトストーリーボードをContentControlにプログラムで追加および削除する方法

分類Dev

WPFでMVVMデザインパターンを使用してプログラムでデータグリッド行のフォーカスを選択および設定する方法

分類Dev

EditTextにプログラムでフォーカスを設定(およびキーボードを表示)するにはどうすればよいですか?

分類Dev

カスタム フォントを使用してテキスト ビューで太字と斜体のスタイルを設定する (プログラムで)

分類Dev

編集ボタンをクリックした後に編集テキストを編集可能にする方法

分類Dev

ボタンjqueryをクリックしてテキストを設定およびリセットします

分類Dev

ViewControllerごとにカスタムスタッキングボタンクラスのボタンテキストを異なる方法で設定したい

分類Dev

UIを使用せずに、Dialogflowのノードフルフィルメントライブラリを使用してコンテキストをプログラムで設定および削除できますか?

分類Dev

カスタム ダイアログでテキスト ボックスをフォーカスして、ボックス内でカーソルが点滅するようにする方法

分類Dev

リンクボタンのクリック時にグリッドビューでテキストボックスを表示および非表示にする方法

分類Dev

構築しているクロスプラットフォームライブラリでオペレーティングシステムAPI呼び出しを行うためにどの方法をお勧めしますか?

分類Dev

CheckboxTreeViewerで選択した項目をダブルクリックしたときに、キーボードカーソルフォーカスを取得してラベルテキストを編集する方法

分類Dev

EC2カスタムオリジンを持つリバースプロキシキャッシュとしてクラウドフロント間でSSLを設定するにはどうすればよいですか?

分類Dev

編集ボタンのテキストボックスに値を自動入力するには、クリックしてHTMLフォームの値を編集/更新します

分類Dev

ボタンクリックで別のコントロールにフォーカスを設定する

分類Dev

Javascriptを使用してHTMLフォームテキストボックスを編集するにはどうすればよいですか?

分類Dev

テキストフィールドからフォーカスを削除してボタンに設定するにはどうすればよいですか?

分類Dev

Androidを使用してトーストなし([変更]ダイアログボックス)を使用して、設定されたエラーメッセージに[編集]テキストボックスを作成するにはどうすればよいですか?

分類Dev

VBフォームアプリケーションのダイアログボックスで設定された値を呼び出し元に渡す方法

分類Dev

ドロップダウンリストJavaScriptを使用してテキストボックスのフォントサイズを設定する方法

分類Dev

TinyMCE 4.0+カスタムボタンは、「カスタムフォーマット」テキストをクリックするとアクティブおよび非アクティブになります

分類Dev

リストビューをクリックした後、ボタンと編集テキストを含むミニフォームを表示する

分類Dev

背景がテキストとともに広がるフラッターのキャンバス上で、カスタム編集可能なテキストボックスを作成するにはどうすればよいですか?

分類Dev

WPF MVVM:ボタンのクリック時にDatagridで現在選択されているアイテムにフォーカスを設定します

分類Dev

ダイアログフローでオブジェクトのリストをプラメーターとしてコンテキストを設定する

分類Dev

データベースから取得した編集ボックスにテキストを設定する方法(phpファイルを使用)

分類Dev

データベースから取得した編集ボックスにテキストを設定する方法(phpファイルを使用)

分類Dev

フォームグループがボタンで追加および削除されるAngular6リアクティブフォームを作成する方法

Related 関連記事

  1. 1

    ボタンをクリックすると、プログラムでテキストフィールドにフォーカスが移動します

  2. 2

    ビットマップエフェクトストーリーボードをContentControlにプログラムで追加および削除する方法

  3. 3

    WPFでMVVMデザインパターンを使用してプログラムでデータグリッド行のフォーカスを選択および設定する方法

  4. 4

    EditTextにプログラムでフォーカスを設定(およびキーボードを表示)するにはどうすればよいですか?

  5. 5

    カスタム フォントを使用してテキスト ビューで太字と斜体のスタイルを設定する (プログラムで)

  6. 6

    編集ボタンをクリックした後に編集テキストを編集可能にする方法

  7. 7

    ボタンjqueryをクリックしてテキストを設定およびリセットします

  8. 8

    ViewControllerごとにカスタムスタッキングボタンクラスのボタンテキストを異なる方法で設定したい

  9. 9

    UIを使用せずに、Dialogflowのノードフルフィルメントライブラリを使用してコンテキストをプログラムで設定および削除できますか?

  10. 10

    カスタム ダイアログでテキスト ボックスをフォーカスして、ボックス内でカーソルが点滅するようにする方法

  11. 11

    リンクボタンのクリック時にグリッドビューでテキストボックスを表示および非表示にする方法

  12. 12

    構築しているクロスプラットフォームライブラリでオペレーティングシステムAPI呼び出しを行うためにどの方法をお勧めしますか?

  13. 13

    CheckboxTreeViewerで選択した項目をダブルクリックしたときに、キーボードカーソルフォーカスを取得してラベルテキストを編集する方法

  14. 14

    EC2カスタムオリジンを持つリバースプロキシキャッシュとしてクラウドフロント間でSSLを設定するにはどうすればよいですか?

  15. 15

    編集ボタンのテキストボックスに値を自動入力するには、クリックしてHTMLフォームの値を編集/更新します

  16. 16

    ボタンクリックで別のコントロールにフォーカスを設定する

  17. 17

    Javascriptを使用してHTMLフォームテキストボックスを編集するにはどうすればよいですか?

  18. 18

    テキストフィールドからフォーカスを削除してボタンに設定するにはどうすればよいですか?

  19. 19

    Androidを使用してトーストなし([変更]ダイアログボックス)を使用して、設定されたエラーメッセージに[編集]テキストボックスを作成するにはどうすればよいですか?

  20. 20

    VBフォームアプリケーションのダイアログボックスで設定された値を呼び出し元に渡す方法

  21. 21

    ドロップダウンリストJavaScriptを使用してテキストボックスのフォントサイズを設定する方法

  22. 22

    TinyMCE 4.0+カスタムボタンは、「カスタムフォーマット」テキストをクリックするとアクティブおよび非アクティブになります

  23. 23

    リストビューをクリックした後、ボタンと編集テキストを含むミニフォームを表示する

  24. 24

    背景がテキストとともに広がるフラッターのキャンバス上で、カスタム編集可能なテキストボックスを作成するにはどうすればよいですか?

  25. 25

    WPF MVVM:ボタンのクリック時にDatagridで現在選択されているアイテムにフォーカスを設定します

  26. 26

    ダイアログフローでオブジェクトのリストをプラメーターとしてコンテキストを設定する

  27. 27

    データベースから取得した編集ボックスにテキストを設定する方法(phpファイルを使用)

  28. 28

    データベースから取得した編集ボックスにテキストを設定する方法(phpファイルを使用)

  29. 29

    フォームグループがボタンで追加および削除されるAngular6リアクティブフォームを作成する方法

ホットタグ

アーカイブ