6

私はかなりの難問に遭遇し、解決策を見つけることができません。JellyBean は、IME アクションの処理方法を変更したようです。実際に機能するソリューションを提供している多くのWebサイトを見つけましたが、単一行のみですEditTexts。例: Stackoverflow: onEditorAction

私のEditTextウィジェットは、JellyBean まで完全に機能していました。ユーザーが「完了」(リターン)キーを押すまで、適切にワードラップされます。次に、 でイベントをキャッチし、それOnEditorActionListenerに応じて処理します。次の XML 属性を使用して設定を変更する複数のバリエーションを試しましたが、役に立ちませんでした。

  • 単線
  • scrollHorizo​​ntally
  • 入力方式
  • imeOptions

onEditorAction イベントが起動されていない場合、または onEditorAction イベントが起動されている場合にのみ、ワード ラッピングを取得できました。JellyBean でワードラップを取得し、同時にソフトキーボードの Enter キーを処理するにはどうすればよいですか?

更新 1:要求されたコードを含めます。これは、JellyBean を除くすべてのプラットフォームで機能する現在の状態であることに注意してください。前述したように、複数の異なる XML 設定を試してみましたが、うまくいきませんでした。

更新 2: JellyBean 4.1.1 を実行している Asus Transformer を手に入れることができました。正常に動作します。おそらくこれはデバイス固有のバグですか?私の他の JellyBean デバイスは、4.1.2 を実行している Nexus 7 です。誰でも他のデバイスでこれを確認できますか?

コード:

private class OnMyEditorActionListener implements OnEditorActionListener {
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_GO) {
            doSomething();
            return true;
        }
        return false;
    }
}
<EditText
    android:id="@+id/editbox_box_et"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@null"
    android:gravity="top|center_horizontal"
    android:imeOptions="actionGo"
    android:inputType="textMultiLine|textNoSuggestions"
    android:padding="@dimen/spacing_half"
    android:textSize="24sp" >
</EditText>
4

5 に答える 5

2

以下を試してください:

android:inputType="text"
android:imeOptions="actionNone"

また、imeOptions xml ファイルでワードラップのさまざまなオプションをチェックアウトします

于 2012-11-15T11:57:51.560 に答える
1

多くのテストを行った結果、これは Nexus 7 固有のバグであり、これを回避するためにコード上でできることは何もないと判断しました。興味深いことに、Google Play から別のキーボードをダウンロードすると、コードは実際に機能します。

于 2012-11-16T12:59:40.510 に答える
0

JellyBean4.1.2でイベントをトリガーする際に問題が発生しました。入力タイプを追加すると役に立ちました。

android:imeOptions="actionGo"
android:inputType="text"
于 2012-11-12T22:36:45.893 に答える
0

android:imeActionId整数値 (actionGo の場合は 2) の属性を追加してみてください。http://developer.android.com/reference/android/widget/TextView.html#attr_android:imeOptions

于 2012-11-12T05:29:31.097 に答える