【问题标题】:NativeActivity override onKeyDown()NativeActivity 覆盖 onKeyDown()
【发布时间】:2015-04-14 19:25:30
【问题描述】:

我正在处理的 NativeActivity 子类有问题,我的目标是从 Java 代码中捕获和处理关键事件,而不是 本机代码(这主要是因为这个),不幸的是我看不到Log() 存在于onKeyDown 方法中,尽管 onCreate() 正在打印日志,并且我在本机代码中放置的日志打印也是如此。我的NativeActivity 子类的onKeyDown 似乎从未被调用过。

有什么想法吗?

public class CNativeActivity extends NativeActivity{                                                                                                                                                                                                                                                                                                                                
        private final static String TAG = "CNativeActivity";                                                                                                                            

        protected void onCreate(Bundle savedInstanceState) {                                                                                                                                  
            Log.v(TAG, "onCreate");                                                                                                                                                          
            super.onCreate(savedInstanceState);                                                                                                                                              
        }                                                                                                                                                                                    

        @Override                                                                                                                                                                            
        public boolean onKeyDown(int keyCode, KeyEvent event) {                                                                                                                              
            Log.v(TAG, "onKeyDown");                                                                                                                                                          
            return true;                                                                                                                                                                      
        }
}   

【问题讨论】:

标签: java android native-activity


【解决方案1】:

add 实现 KeyEvent.Callback

public class @activity@ extends NativeActivity implements KeyEvent.Callback  {
   public boolean onKeyMultiple (int keyCode, int count, KeyEvent event)
}

KeyEvent.Callback 覆盖发生在本地 AInputEvent 调度之后;所以基本上你必须忽略所有旧的 dipatching 并实现一些新的,如果你想获得扩展键,如 ÷、√、€、£,......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 2012-03-17
    • 2011-05-21
    • 2011-06-11
    相关资源
    最近更新 更多