我用android2.2 的上网本开发一个应用。其中一个activity要用键盘(不是屏幕软键盘)触发事件。但是一按建“搜狗拼音”先跳出来了。因为另一个activity要用“搜狗拼音”所以搜狗还不能不装。如何在这个activity中禁止输入法?本activity界面上只有按钮和textview。没有editview。

解决方案 »

  1.   

    同学,你看这个能帮你吗。
    AndroidManifest.xml中相应的Activity.
            <activity
                android:name=".xxxActivity"
                android:windowSoftInputMode="stateHidden">
            </activity>
      

  2.   


    同学,你看这个能帮你吗。
    AndroidManifest.xml中相应的Activity.
      <activity
      android:name=".xxxActivity"
      android:windowSoftInputMode="stateHidden">
      </activity>huanai2000:
      你的方法我用了。可是不行。搜狗输入法还是在onKeyDown前面接货了键值。
    android:windowSoftInputMode="stateHidden" 应该是防止输入法自动弹出用的。不过还是谢谢你!
      

  3.   

    你试试重写dispatchKeyEvent()这个方法,然后看能监听到键盘事件不
      

  4.   

    用dispatchKeyEvent 后所有的键都监听不到了。搜狗也捕捉不到键值
      

  5.   

    再次测试。程序如下:
    public boolean dispatchKeyEvent(KeyEvent event) {
                    if (event.getAction() == KeyEvent.ACTION_UP) {
                            Log.i("Dispatch ", "UPUPUPUPUPUPUP");
                            return super.dispatchKeyEvent(event);
                    }
                    int keyCode = event.getKeyCode();
                    work(keyCode);//我自己写的按键处理程序
                    return false;
                     }
    还有一个现象:
    在模拟器中搜狗就不再跳出。但是在epc(上网本)中搜狗就出来了。
      

  6.   

    我想是不是在我的程序之前,搜狗拼音已经截获了键值。并把它不用的键值传递给程序。如果这样在程序里怎么设定都是没用用的。即使重写 dispatchKeyEvent。
      

  7.   

    设置它focusable=false,clickable=true