2013-02-15 16 views
5

Mam okno dialogowe zawierające selektor czasu. We wszystkich innych telefonach wszystko jest w porządku. Kliknięcie przycisku powoduje wyświetlenie okna dialogowego (zawierającego selektor czasu). Potem ustawiłem czas.Klawiatura pojawia się automatycznie na Nexus7 w wersji 4.2

Na wersji Nexus 7 Android 4.2. W trybie poziomym, po kliknięciu przycisku pojawia się okno dialogowe, a klawiatura pojawia się automatycznie. Jeszcze nie kliknąłem na TimePicker.

Każdy wie, dlaczego otrzymuję ten problem na Nexusie 7.

Edycja: Kod znajduje się poniżej

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

Spójrz na [ten] [1]. Miejmy nadzieję, że to pomoże. zdrowie [1]: http://stackoverflow.com/questions/1845285/how-to-block-virtual-keyboard-while-clicking-on-edittext-in-android/1845307 # 1845307 – g00dy

Odpowiedz

2

można również spróbować wyłączyć je w manifeście:

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

nie działa, nadal mam keybord –

2

Czy kiedykolwiek próbował ukryć klawiaturę kliknięcia przycisku po pojawieniu Twój dialogowe ? Coś takiego:

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

+0

też to wypróbowałem, nie działa :( –

+0

Więc co robisz dokładnie i kiedy wyświetla się klawiatura. Przechodzisz do trybu poziomego i po tym kliknięciu przycisk i okno dialogowe pojawia się i klawiatura również się pokazuje? Jeśli to jest sytuacja, możesz usunąć fokus czas wybierania czasu.Może wymusić klawiaturę również się pokazuje – hardartcore

+0

Otwieram okno dialogowe, które zawiera datepicker. Rok się skupi i pojawi się klawiatura.W innych urządzeniach dzień jest skupiony i nie pojawia się żadna klawiatura. –

2

wpadłem na tym samym problemie ze mnie wzywają do SoftInputMode (klawiatura) na jednej Activity w mojej aplikacji i pojawia się na wszystkich innych Activities. Tak więc, w końcu musiałem dodać android:windowSoftInputMode="stateAlwaysHidden" do mojego pliku manifest na activities Nie chciałem, aby pojawiła się SoftInputMode (klawiatura). Pozbyło się to pojawienia się klawiatury. Oto co mój manifestActivity wygląda następująco:

<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

Wewnątrz układu, dodać ten tag wewnątrz myślą o nieDatePicker:

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

Powinno to zapewnić, że nie będzie DatePicker uzyskać ostrość, a tym samym nie wyświetla klawiatury.

3

Wykonaj layout z ustawianiem czasu do wybrania. I poproś o skupienie się na tym layout. Wtedy DatePicker nie zostanie ustawiony, a klawiatura nie będzie wyświetlana.

1

Dodaj następujący wiersz do activity w manifest.xml

 android:windowSoftInputMode="stateAlwaysHidden" 
Powiązane problemy