1

私のアプリには 3 つの EditText ウィジェットがあり、そのうちの 1 つの XML を以下に示します。それらはほとんど機能しますが、問題は実際のウィジェットがデバイス画面の下部にあることです。ウィジェットをタップしてテンキーを表示すると、テキスト入力ウィンドウが完全に隠れてしまい、入力している数字がわかりません。デバイスにキーパッドが表示されているときに、現在入力している数字も表示されるように TextView を変更できますか?

<EditText
    android:id="@+id/EditTextPrices"            android:layout_width="100dip"
    android:layout_height="wrap_content"        android:inputType="number|numberDecimal"
    android:singleLine="true"                   android.imeOptions="actionDone"/>

もう 1 つの問題は、数字を 1 つ入力し終えると、メインのアクティビティ画面に戻るのではなく、次の TextEdit ウィジェットのテンキーが表示されることです。私はこれが起こることを望んでいません。android.imeOptions="actionDone" を設定すると、キーパッドが消えて、数字の入力が終わったときに完了すると思っていましたが、そうではありませんでした。「次の」ウィンドウが表示されないようにするにはどうすればよいですか?

4

3 に答える 3

1

AdjustPan を使用するために与えられた他のアドバイスは良いものであり、別のアイデアは、レイアウトをスクロール ビューに配置することです。

2 番目の問題については、actionDone をどのように処理していますか?

たとえば、これはキーボードを非表示にする方法です(または、完了を押したときに好きなことをします)。

final EditText editTextPrices = (EditText) findViewById(R.id.editTextPrices);
editTextPrices.setOnEditorActionListener(new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView view, int actionID, KeyEvent event) {
        if (actionID == EditorInfo.IME_ACTION_DONE) {
            InputMethodManager imm = (InputMethodManager) MyClass.this.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(bugemailaddress.getWindowToken(), 0);
            // DO OTHER HANDLING OF INPUT HERE
            return true;
        }
        return false;
    }
 });
于 2013-04-04T20:54:56.323 に答える
1

android:windowSoftInputMode=”adjustPan” をアクティビティのマニフェストに追加します。これにより、フォーカスされた編集テキストが常に画面に表示されるように、アクティビティが上にスクロールされます。

于 2013-04-04T20:49:09.817 に答える