Я пытаюсь прослушивать определенные ключевые события в android, я подключил прослушиватель событий к редактированию текста. Я ищу пробел-прессу, фунт и @ key.for почему-то это событие запускается только для пробела и цифровых клавиш. Функция даже не может быть выполнена для любого другого ключа .... я хотел бы знать, почему? это то, что я делаю неправильно?Android KeyEvent Не регистрируется
package com.stv.mynotes;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import java.util.StringTokenizer;
public class TestActivity extends AppCompatActivity implements View.OnKeyListener
{
EditText edit_txt;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
edit_txt = (EditText) (findViewById(R.id.test_txt));
edit_txt.setOnKeyListener(this);
}
public boolean onKey(View v,int keyCode,KeyEvent event)
{
int tmpCode = event.getKeyCode();
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
if (tmpCode == KeyEvent.KEYCODE_SPACE)
{
Log.i("Test", "Space pressed:"+tmpCode);
return true;
}
if (tmpCode == KeyEvent.KEYCODE_9)
{
Log.i("Test", "9 pressed:"+tmpCode);
return true;
}
else
{
Log.i("Test","Unknown Down:"+tmpCode);
return false;
}
}
if(event.getAction()==KeyEvent.ACTION_UP)
{
if (tmpCode == KeyEvent.KEYCODE_POUND)
{
Log.i("Test", "Pound pressed:"+tmpCode);
return true;
}
if (tmpCode == KeyEvent.KEYCODE_AT)
{
Log.i("Test", "@ pressed:"+tmpCode);
return true;
}
else
{
Log.i("Test","Unknown UP:"+tmpCode);
return false;
}
}
else
return false;
}
}
Это правда, KeyEvents только для физических клавиш, такие как громкость и кнопка питания, ваше предложение является правильным. Прослушивание входных событий только с ключевыми входами устарело, вход теперь может быть от микрофона ... я был abel для его реализации с помощью текстового наблюдателя. Спасибо. – Wafic