bu arayüzün bir factorized kullanımını istiyorsanız Activity
, örnek OnFocusChangeListener()
uygulamasını sağlayın o zaman android stüdyosu, arabirimden yöntemi eklemenizi ister, onu kabul et ... i t gibi olacak:
@Override
public void onFocusChange(View v, boolean hasFocus) {
// todo your code here...
}
ve bir factorized kodu var gibi, sen sadece bunu yapmak gerekecek:
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
editTextReaserch.setText("");
editTextMyWords.setText("");
editTextPhone.setText("");
}
if (!hasFocus){
editTextReaserch.setText("BlaBlaBla");
editTextMyWords.setText(" One Two Tree!");
editTextPhone.setText("\"your phone here:\"");
}
}
şey sen !hasFocus
kod davranışı içindir Odağı kaybeden öğe, bu hile yapmalı! Ancak, böyle bir durumda, odak değişikliğinin kullanıcının girişlerinin üzerine yazılabileceğine dikkat edin!
+1 - ama metin düzenleme bir liste görünümü ise, her anahtar aşağı kutusu kaybetme ve odak almasını sağlayacağı belirtmek gerekir. Şu anda odaklanmış kutuyu takip etmek için bu çözüme bakın: http://stackoverflow.com/questions/9527067/android-edittext-in-listview-loses-focus-on-calling-notifydatavaled – bsautner
41 temelde yazdığı bir cevabın yanıtları "hasFocus" değerini oku ". Gerçek şu ki, bu, editText'in odağını kaybetmesini sağlamak için gerçekten çok zor ve bununla ilgili pek çok cevapsız soru var. –
Gösterdiğiniz kodu nereye ekleyebilirim? "OnCreate" içinde olduğu gibi koyarsam uygulama çöküyor – Jona