2017-09-12 28 views
5

üzerinde InputType.TYPE_CLASS_NUMBER için InputType nasıl ayarlanmalıyım Giriş Sayfası'nı this.setInputType(InputType.TYPE_CLASS_NUMBER); olarak ayarladığım Özel Düzenleme oluşturduk ancak sorun 7.0 (nugat) altında ancak 7.0 üzerinde çalışıyor. bana alfanümerik klavye göster.Android Sürüm 7.0 (nuga) ve

Başka garip bir şey de EditText'e dokunduğumda, yumuşak sayısal klavyeyi çabuk aldığımda, bir saniyeden kısa bir sürede otomatik olarak tüm harfleri gösteren normal yumuşak klavyeye dönüşür. ayrıca klavye açıkken, kötü durumdaki tuşa basmadan, klavye kapatmadan, ancak Edittext'e yeniden girdiğimde. i sonra onther EDITTEXT geçerli EditText

tıklamadıkça klavye NOUGAT bu sorunu mı yoksa bilgi için

yanlış bir şey yapıyorum ben

setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN 
        |WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 

PAN ADJUST için setSoftInputMode kod kullanmış açık değil ve sayısal tuş takımını kullanın this.setInputType(InputType.TYPE_CLASS_NUMBER);

Düzenlendi ayarlamak için - i kaldırdığınızda -

içerik haricinde
setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN 
         |WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 

etkinlikten her şey iyi çalışıyor (sayı EDITTEXT açık sayı tuş takımı, alfanümerik tuş takımı alfanümerik EDITTEXT açık) değil yönü yukarı tuş takımı gizleme EditText demektir gider (çünkü bu özellik SOFT_INPUT_ADJUST_PAN cehalet)

Yardım Ben 7+ cihazlarda setInputType (InputType.TYPE_CLASS_NUMBER) kullanmaya çalıştı sayesinde

+0

Android uzmanı oradasınız ????????? –

+0

'Özel Düzenleme Metni oluşturdum. Muhtemelen bunu yapmamalısınız. EditText kodu hem sizin hem de ödeme notumun üstünde. Ben InputType'ı [...] olarak ayarladım. Muhtemelen bunu yapmadın. Bu özel EditText'in tam kodunu paylaşmazsanız neyin yanlış olduğunu görmek zor. Bütün sınıfı yayınla. –

+0

@Eugen Pechanec !! eğer CustomeEdittext ise "özel EditText" içinde değil, Alfanümerik tuş takımı nugayı açmalı ama Number keypad'i açmalıyım .... ayrıca setSoftInputMode = AdjustPan özelliğini kaldırdığımda, bana mükemmel bir numara tuş takımını gösterdiğinden daha sonra tuş takımının arkasındaki edittext :( –

cevap

3

takdir ve açıklanan davranışı görmedi. Başka bir iş parçacığı, çalıştırılabilir veya aynı anda açtıktan sonra EditText'inizin InputType değerini değiştiren herhangi bir geri arama arıyorum.

+0

Merhaba Dima .... sorularımı güncelledim lütfen bana bildirin ...teşekkürler –

+0

numarası giriş tipi ile yeni uygulama oluşturuldu ve nougat cihazında çalışırlar iyi çalışır (sayı tuş takımı açık) ama benim uygulamada, benim app değil, neden sadece nougat üzerinde ve sadece üzerinde çalışmak ... ....... ve twest, softinputmode = adjustPan özelliğini kaldırdığımda ancak klavye gizlemek edittext .... :( –

+0

kısa "setSoftInputMode" içinde bu özellik edittext durumunu alfanümerik - sayısal olarak değiştirin - –

0

softInputMode ayarlarınızı Manifest dosyanıza ayarlamayı deneyin. Böylece bu davranış sizin istediğiniz davranışa sahip olabilir.

<activity 
    android:name=".YourActivity" 
    android:label="@string/app_name" 
    android:windowSoftInputMode="adjustPan|stateAlwaysHidden" /> 
+0

Manifest dosyasında bu satırı zaten ekledim - android: windowSoftInputMode = "adjustPan | adjustResize | stateHidden" –

İlgili konular