Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to disable keypad popup when on edittext?

In my app the first view of all my screens is an EditText, so every time i go to a screen the onscreen keypad pops up. how can i disable this popingup and enable it when manually clicked on the EditText????

    eT = (EditText) findViewById(R.id.searchAutoCompleteTextView_feed);      eT.setOnFocusChangeListener(new OnFocusChangeListener() {          public void onFocusChange(View v, boolean hasFocus) {              if(hasFocus){             InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);              imm.hideSoftInputFromWindow(eT.getWindowToken(), 0);             }         }     }); 

xml code:

<ImageView     android:id="@+id/feedPageLogo"     android:layout_width="45dp"     android:layout_height="45dp"     android:src="@drawable/wic_logo_small" />  <Button     android:id="@+id/goButton_feed"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignParentRight="true"     android:text="@string/go" />  <EditText     android:id="@+id/searchAutoCompleteTextView_feed"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:layout_toLeftOf="@id/goButton_feed"     android:layout_toRightOf="@id/feedPageLogo"     android:hint="@string/search" />  <TextView     android:id="@+id/feedLabel"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:layout_below="@id/feedPageLogo"     android:gravity="center_vertical|center_horizontal"     android:text="@string/feed"     android:textColor="@color/white" />  <LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/ButtonsLayout_feed"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:layout_alignParentBottom="true" >      <Button         android:id="@+id/feedButton_feed"         android:layout_width="wrap_content"         android:layout_height="30dp"         android:layout_margin="0dp"         android:layout_weight="1"         android:background="@color/white"         android:text="@string/feed"         android:textColor="@color/black" />      <Button         android:id="@+id/iWantButton_feed"         android:layout_width="wrap_content"         android:layout_height="30dp"         android:layout_margin="0dp"         android:layout_weight="1"         android:background="@color/white"         android:text="@string/iwant"         android:textColor="@color/black" />      <Button         android:id="@+id/shareButton_feed"         android:layout_width="wrap_content"         android:layout_height="30dp"         android:layout_margin="0dp"         android:layout_weight="1"         android:background="@color/white"         android:text="@string/share"         android:textColor="@color/black" />      <Button         android:id="@+id/profileButton_feed"         android:layout_width="wrap_content"         android:layout_height="30dp"         android:layout_margin="0dp"         android:layout_weight="1"         android:background="@color/white"         android:text="@string/profile"         android:textColor="@color/black" /> </LinearLayout>  <ListView     xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/feedListView"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:layout_above="@id/ButtonsLayout_feed"     android:layout_below="@id/feedLabel"     android:textSize="15dp" > </ListView> 

the third view (EditText) is where the focus is.

like image 811
Housefly Avatar asked May 16 '12 04:05

Housefly


People also ask

How do you disable the input field on a mobile keyboard?

To block the mobile device keyboard from displaying you simply need to set the field to readonly with jQuery as displayed in the code below. $('#input_92_31'). attr('readonly','readonly'); Hope this helps!

How do I remove text from EditText?

just use the android:hint attribute in your EditText. This text shows up when the box is empty and not focused, but disappears upon selecting the EditText box. this should be the accepted answer, +1 for simplicity.


2 Answers

The best solution lies in the Project Manifest file (AndroidManifest.xml), add the following attribute in the activity construct

android:windowSoftInputMode="stateHidden"


Example:

    <activity android:name=".MainActivity"                android:windowSoftInputMode="stateHidden" /> 

Description:

  • The state of the soft keyboard — whether it is hidden or visible — when the activity becomes the focus of user attention.
  • The adjustment made to the activity's main window — whether it is resized smaller to make room for the soft keyboard or whether its contents pan to make the current focus visible when part of the window is covered by the soft keyboard.

Introduced in:

  • API Level 3.

Link to the Docs

Note: Values set here (other than "stateUnspecified" and "adjustUnspecified") override values set in the theme.

like image 109
Skynet Avatar answered Oct 17 '22 02:10

Skynet


You have to create a view, above the EditText, that takes a 'fake' focus:

Something like :

<!-- Stop auto focussing the EditText --> <LinearLayout     android:layout_width="0dp"     android:layout_height="0dp"     android:background="@android:color/transparent"     android:focusable="true"     android:focusableInTouchMode="true"> </LinearLayout>  <EditText     android:id="@+id/searchAutoCompleteTextView_feed"     android:layout_width="200dp"     android:layout_height="wrap_content"     android:inputType="text" /> 

In this case, I used a LinearLayout to request the focus. Hope this helps.

This worked perfectly...thanks to Zaggo0

like image 32
Housefly Avatar answered Oct 17 '22 02:10

Housefly