2013-02-15 12 views
5

Ho una finestra di dialogo che contiene una selezione orari. Su tutti gli altri miei telefoni, tutto è OK. Clicco sul pulsante, appare la finestra di dialogo (che contiene la selezione del tempo). Poi ho impostato il tempo.La tastiera appare automaticamente su Nexus7 versione 4.2

Sulla versione 4.2 di Nexus 7. In modalità orizzontale, quando faccio clic sul pulsante, viene visualizzata la finestra di dialogo e la tastiera viene visualizzata automaticamente. Non ho ancora fatto clic su TimePicker.

Qualcuno sa perché sto ricevendo questo problema su Nexus7.

Edit: Il codice è riportato qui di seguito

private DatePicker mDatePicker; 

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    mDatePicker = (DatePicker) view.findViewById(R.id.date_picker); 
    mDatePicker.init(mDate.get(Calendar.YEAR), mDate.get(Calendar.MONTH), mDate.get(Calendar.DAY_OF_MONTH), this); 
    mDatePicker.clearFocus(); 
} 
+0

Date un'occhiata a [questo] [1]. Speriamo che aiuti. Acclamazioni [1]: http://stackoverflow.com/questions/1845285/how-to-block-virtual-keyboard-while-clicking-on-edittext-in-android/1845307 # 1845307 – g00dy

risposta

2

si può anche provare a disabilitarlo nel manifesto:

<activity 
    android:name=".activity.SampleActivity" 
    android:configChanges="keyboardHidden|orientation" 
/> 
+0

non ha funzionato, ho ancora il keybord –

2

Avete mai provato a nascondere la tastiera sul tasto di scatto dopo viene visualizzata la finestra di dialogo ? Qualcosa di simile a questo:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), 0);

+0

ho provato anche questo, non funziona :( –

+0

Quindi cosa stai facendo esattamente e quando viene visualizzata la tastiera. Stai andando in modalità orizzontale e dopo quel clic su il pulsante e la tua finestra di dialogo appare e la tastiera viene visualizzata? Se questa è la situazione puoi rimuovere la messa a fuoco del tuo Time Picker .Può anche forzare la tastiera. – hardartcore

+0

sto aprendo una finestra di dialogo che contiene un Datepicker. l'anno è focalizzato e appare la tastiera.In altri dispositivi il giorno è focalizzato e nessuna tastiera appare –

2

Mi sono imbattuto in questo stesso problema con me chiedendo la SoftInputMode (tastiera) su un Activity nella mia app e che appaiono su tutti gli altri Activities. Quindi, alla fine ho dovuto aggiungere android:windowSoftInputMode="stateAlwaysHidden" al mio file manifest su activities Non volevo che lo SoftInputMode (tastiera) comparisse. Questo si è liberato della tastiera spuntando. Ecco ciò che il mio manifestActivity assomiglia:

<activity 
     android:name=".GMax3Main" 
     android:label="@string/app_name" 
     android:windowSoftInputMode="stateAlwaysHidden"> 
     <intent-filter> 
      <action android:name="com.medeasy.GMax3.MAIN" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 
1

Dentro il layout, aggiungere questo tag all'interno di una vista che è non il DatePicker:

<SomeView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:doSomethingCool="true"> 
    <requestFocus/> 
</SomeView> 

Questo dovrebbe assicurare che il DatePicker no mettersi a fuoco e, quindi, non visualizzerà la tastiera.

3

Effettuare il layout contenente la selezione orari selezionabile. E richiedere il focus su questo layout. Quindi lo DatePicker non otterrà lo stato attivo e la tastiera non verrà visualizzata.

1

Aggiungere la seguente riga al vostro activity in manifest.xml

 android:windowSoftInputMode="stateAlwaysHidden" 
Problemi correlati