0

私はソフトキーボードに取り組んでいます。

私の問題は以下のとおりです。

  1. テキスト内のカーソルの現在位置を取得する方法(EditText)。
  2. テキスト(EditText)の値の全長を取得する方法。
  3. EditText が複数行の場合、テキスト (EditText) 内のカーソルの現在の行を取得します。

私のコードを見たい場合は、このソフトキーボードのリンクを参照してください。私はこのコードに従っています。

4

1 に答える 1

1

textwatcherイベントをedittextに配置する必要があります。これは、ユーザーが文字を入力したときに実行されるイベントです(キーボードによる入力)。あなたの場合、ユーザーが編集テキストに1文字を入力すると、穴のテキストが表示され、このテキストの長さが取得されます。これは、カーソル位置とテキストの値の全長です。3番目の質問によると、上記の方法を使用してすべてのテキストを編集テキストで記述し、すべてのテキストをASCII値に変換してから、すべての文字を13(キーボードで入力したASCII値)と比較し、行のカウンターを増やします。これを使用してtrueの条件を設定すると、編集テキストに行が見つかりません。このコードで変更したedittextにテキストウォッチャーを配置し、条件に応じて変換する方法の例を示します。

ed.addTextChangedListener(new TextWatcher() {

            public void afterTextChanged(Editable s) {
            }

            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
            }

            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {

                textlength = ed.getText().length();
                );

            }
        });
于 2011-05-19T05:12:48.987 に答える