EDITTEXT里按下一个键 键盘能响应onKeyUp(),但是响应不了onKeyDown(), 这两个interface定义得完全一样
public boolean onKeyUp(int keyCode, KeyEvent event) {
Log.d("d", "activity onKeyup");
return false;
} @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.d("d", "activity onKeydown");
return false;
}DEBUG里只看得到onKeyUp()得消息看不到onKeyDown()的,UP和DOWN都是放在activity里的
是不是焦点的问题?我在EDITTEXT的XML文件中加入 android:focusable="false"后 onKeyDown()能响应了 但Edittext里的光标又看不到了 到底为什么会这样?
public boolean onKeyUp(int keyCode, KeyEvent event) {
Log.d("d", "activity onKeyup");
return false;
} @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.d("d", "activity onKeydown");
return false;
}DEBUG里只看得到onKeyUp()得消息看不到onKeyDown()的,UP和DOWN都是放在activity里的
是不是焦点的问题?我在EDITTEXT的XML文件中加入 android:focusable="false"后 onKeyDown()能响应了 但Edittext里的光标又看不到了 到底为什么会这样?
而onKeyDown()只对有几个键 SYM,Search还有几个功能键有响应 其他键都没反应 为什么会这样?
public class Test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText Editor = (EditText) findViewById(R.id.ed);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.d("d", "activity onKeyDown");
return false;
}
public boolean onKeyUp(int keyCode, KeyEvent event) {
Log.d("d", "activity onKeyup");
return false;
}
}Edittext的xml
<EditText
android:id="@+id/ed"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_marginLeft="0sp"
android:layout_marginRight="0sp"
android:layout_marginTop="5sp"
android:layout_marginBottom="5sp"
android:layout_weight="1">
</EditText>每次按键后 在Logcat里面 只能看到onKeyUp的Log信息 没有 onKeyDown的消息 等于说完全没有执行onKeyDown, 不知道为什么按键后UP的执行了DOWN的没执行