Bu sorunun yanıtı iki yönlü olmalıdır. Anahtarın nasıl oluşturulduğu belirlenir. Donanım tuşuna basılırsa, aşağıda açıklanan her iki yaklaşım geçerlidir. Yazılım tuşuna basılırsa, o zaman gerçek içeriğe bağlıdır.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_A:
{
//your Action code
return true;
}
}
return super.onKeyDown(keyCode, event);
}
2: dikkatle aşağıdaki işlevi geçersiz kılmak gerek
: tuşu Menü tuşu üzerinde uzun süre basarak elde edilmiştir yumuşak klavye üzerindeki basarak sonucu
1.) olsaydı .) Etkinliğiniz EditText içeriyorsa ve softkeyboard ondan alınmışsa, temel olay zaten EditText tarafından tüketildiğinden ilk yaklaşım işe yaramaz. Sen metni kullanmak Dinleyici değişti gerekir: 2.3 çalışan bu kodu hiç de, yolu olay anahtarlarını kontrol etmek işleri olmaz varsa lütfen ssoo sürüm 2.3 kadar ise
mMyEditText.addTextChangedListener(new TextWatcher()
{
public void afterTextChanged(Editable s)
{
}
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
/*This method is called to notify you that, within s, the count characters beginning at start are about to be replaced by new text with length after. It is an error to attempt to make changes to s from this callback.*/
}
public void onTextChanged(CharSequence s, int start, int before, int count)
{
}
);
Önerilen yaklaşımı denediniz mi? Yararlı mıydı? – Zelimir
Bu sadece, arka giriş ve menü gibi sert tuş olaylarını yakalar, ancak yumuşak giriş tuşu olaylarını değil. – ozmank
Bu konuda emin misin? Harfler için de benim için doğru çalışıyor. Hangi telefonda test ettin? – Zelimir