Autore Topic: Chiudere softkey da codice  (Letto 324 volte)

Offline matteo.pizzorni

  • Utente junior
  • **
  • Post: 65
  • Respect: +2
    • Mostra profilo
Chiudere softkey da codice
« il: 20 Febbraio 2014, 17:04:23 CET »
0
Buongiorno,
premetto che ho googleato parecchio e provato varie soluzioni proposte ma finora non ho trovato nulla che funzioni.
Ho un activity con un solo edittext e quando la avvio vorrei chiudere la softkey (che si apre sistematicamente)
- ho verificato che nel layout non vi sia il requestfocus
- ho provato col codice seguente
Codice (Java): [Seleziona]
InputMethodManager im = (InputMethodManager) this
                                        .getSystemService(Context.INPUT_METHOD_SERVICE);
                        im.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(),
                                        InputMethodManager.HIDE_IMPLICIT_ONLY);
Sia all onCreate che al onResume ma nulla da fare
-ho impostato nel manifest
Codice (XML): [Seleziona]
 <activity android:name=".allenamenti.AllenamentoSchedaEdit"
           android:windowSoftInputMode="stateHidden"/>
ma anche qui.... nulla

vi allego l'xml del layout
grazie a chi sapra' aiutarmi
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/llMaschera"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:layout_alignParentLeft="true"
   android:layout_below="@+id/btElimina"
   android:layout_margin="0dp"
   android:background="@color/grigio_chiarissimo"
   android:orientation="vertical"
   tools:context=".allenamenti.AllenamentoSchedaEdit" >

    <RelativeLayout
       android:id="@+id/relativeLayout1"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:paddingLeft="3dp"
       android:paddingRight="3dp" >

        <TextView
           android:id="@+id/etProgressivoScheda"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentRight="true"
           android:gravity="bottom"
           android:text="@string/n"
           android:textColor="@color/grigio_griglia_grafico"
           android:textSize="@dimen/numeri_grandissimi"
           android:textStyle="bold"
           android:typeface="sans" />

        <TextView
           android:id="@+id/tvDescrzioneScheda_label"
           style="@style/label_maschera"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:gravity="left"
           android:paddingLeft="5dp"
           android:text="@string/descrizione_scheda"
           android:textColor="@color/grigio_medio"
           android:visibility="gone" />

        <EditText
           android:id="@+id/tvDescrizioneScheda"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:layout_alignBaseline="@+id/etProgressivoScheda"
           android:layout_alignParentRight="true"
           android:hint="@string/descrizione_scheda"
           android:inputType="textCapSentences|textMultiLine"
           android:textColor="@color/grigio_medio"
           android:textSize="@dimen/icone_piccole" >
        </EditText>
    </RelativeLayout>

    <TextView
       android:id="@+id/labelGiorno"
       style="@style/val_media_lista"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_marginTop="10dp"
       android:paddingLeft="8dp"
       android:paddingTop="10dp"
       android:text="@string/giorno_di_allenamento" />

    <LinearLayout
       android:id="@+id/llGiornoAll"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:gravity="center"
       android:paddingLeft="5dp"
       android:paddingRight="5dp" >

        <Spinner
           android:id="@+id/spGiornoAllenamento"
           android:layout_width="0dp"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:entries="@array/GIORNI_SETTIMANA" />

        <LinearLayout
           android:id="@+id/llAppuntamenti"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:background="@drawable/pulsante_funzione_arancio_scuro"
           android:clickable="true"
           android:gravity="center"
           android:onClick="appuntamentiCalendario"
           android:orientation="vertical"
           android:paddingLeft="8dp"
           android:paddingRight="8dp" >

            <TextView
               android:id="@+id/tvAppuntamenti"
               style="@style/eti_ombra"
               android:layout_width="wrap_content"
               android:layout_height="match_parent"
               android:gravity="center"
               android:text="@string/icona_calendario"
               android:textColor="@color/bianco"
               android:textSize="@dimen/icone" />

            <TextView
               android:id="@+id/tvAppuntamenti_label"
               style="@style/eti_ombra"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:gravity="center"
               android:paddingBottom="3dp"
               android:paddingLeft="2dp"
               android:paddingRight="2dp"
               android:text="@string/calendario"
               android:textColor="@color/bianco"
               android:textSize="@dimen/label_piccolissima_lista" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

iClaude

  • Visitatore
Re:Chiudere softkey da codice
« Risposta #1 il: 04 Marzo 2014, 14:04:41 CET »
0
Due osservazioni:
1) prova con
im.hideSoftInputFromWindow(tuaEditText.getWindowToken(), 0);

cioè usa un reference alla EditText che riceve l'input

2) nel msnifest prova ad usare l'attributo
stateAlwaysHidden

Così dovrebbe funzionare. ..