Скрытие проблемы с мягкой клавиатурой

У меня есть вид сетки, который содержит edittexts на активность, и ниже, что есть пользовательская клавиатура, как вы можете видеть в коде ниже, я добавил кнопки для ввода цифр. Но проблема в том, что программная клавиатура выскакивает всякий раз, когда я нажимаю на edittexts в виде сетки.

Я пытался положить android:windowSoftInputMode="stateHidden" в файле манифеста, но он даже не скрывает программную клавиатуру в моем случае. Я ссылался на множество источников, включая stackru, даже не оставляя ни одного поста. Я думаю, что есть проблема в моем файле main.xml. Разве мы не можем скрыть это в детях gridview (я знаю, что это кажется глупым, но это последнее сомнение, которое я получаю после многих попыток). Может кто-нибудь подсказать, пожалуйста, где я иду не так? Буду очень признателен, если вы протестируете следующий код с вашим ответом, а затем предложите мне, если он работает.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

        <FrameLayout
                android:id="@+id/fLayout1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="2"
                android:background="@drawable/background3">
        <GridView xmlns:android="http://schemas.android.com/apk/res/android" 
                android:id="@+id/gridview"
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent"
                android:columnWidth="18dp"
                android:numColumns="6"
                android:verticalSpacing="0dp"
                android:horizontalSpacing="1dp"
                android:stretchMode="columnWidth"
                android:gravity="center"
                android:listSelector="@null"/>
        </FrameLayout>

        <FrameLayout
                android:id="@+id/fLayout2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="4"
                android:background="@drawable/background2">

        <TableLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/keypad"
                android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:stretchColumns="*">

        <TableRow>
        <Button android:id="@+id/keypad_1"
        android:text="1"
        android:background="@drawable/custombutton">
        </Button>
        <Button android:id="@+id/keypad_2"
        android:text="2"
        android:background="@drawable/custombutton">
        </Button>
        <Button android:id="@+id/keypad_3"
        android:text="3"
        android:background="@drawable/custombutton">
        </Button>

        <Button android:id="@+id/keypad_4"   
        android:text="4"
        android:background="@drawable/custombutton">
        </Button>

        <Button android:id="@+id/keypad_5"
        android:text="5"
        android:background="@drawable/custombutton">
        </Button>

        </TableRow>
        <TableRow>



        <Button android:id="@+id/keypad_6"
        android:text="6"
        android:background="@drawable/custombutton">
        </Button>

        <Button android:id="@+id/keypad_7"
        android:text="7"
        android:background="@drawable/custombutton">
        </Button>
        <Button android:id="@+id/keypad_8"
        android:text="8"
        android:background="@drawable/custombutton">
        </Button>
        <Button android:id="@+id/keypad_9"
        android:text="9"
        android:background="@drawable/custombutton"> 
        </Button>

        <Button android:id="@+id/keypad_10"
        android:text="C"
        android:background="@drawable/custombutton">
        </Button>

        </TableRow>
        <TableRow>
        <Button android:id="@+id/submit"
        android:text="submit"
        android:layout_span="5"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/custombutton">

        </Button>
        </TableRow>
        </TableLayout>

        </FrameLayout>
</LinearLayout>

1 ответ

Вы пытались добавить эту строку в onCreate() метод?

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

ИЛИ ЖЕ

попробуйте то, что вы делали раньше в манифесте, но вместо stateHidden записывать stateAlwaysHidden

ИЛИ ЖЕ

Вы пытались разместить onTouch слушатель на EditText? Если я не ошибаюсь, он "поглотит" сенсорное событие, и клавиатура не должна появиться. Что-то вроде:

editText_input_field.setOnTouchListener(otl);

private OnTouchListener otl = new OnTouchListener() {
    public boolean onTouch (View v, MotionEvent event) {
            return true; // the listener has consumed the event
    }
 };

взяты отсюда

дайте мне знать, если что-то работает:). Я подумаю о некоторых других решениях, если нет...

Другие вопросы по тегам