Android ime actionGo不适用于某些设备

时间:2011-09-06 14:30:40

标签: java android

ime actionGo根本无法在某些设备上运行,例如HTC Evo 4G。它适用于Motorola Atrix和Droid X.

以下是代码:

<EditText
            android:id="@+id/password"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_centerHorizontal="true"
            android:hint="@string/password_hint"
            android:password="true"
            android:inputType="textPassword"
            android:autoText="false"
            android:imeOptions="actionGo"/>


TextView.OnEditorActionListener listener = new TextView.OnEditorActionListener()
    {
        public boolean onEditorAction(TextView exampleView, int actionId, KeyEvent event) 
        {
            if(actionId == EditorInfo.IME_ACTION_GO)
            {
                loginValidation();
            }

            return true;
    }};

    password.setOnEditorActionListener(listener);

2 个答案:

答案 0 :(得分:2)

这似乎是一个错误。不同的制造商为他们的手机制作了一个自定义键盘,这可能不像Android标准键盘那样完全。此问题之前已经提出过。大多数人通过覆盖onKey事件或使用TextWatcher类来克服此问题。已经提交了关于此

的错误

http://code.google.com/p/android/issues/detail?id=2882

答案 1 :(得分:0)

我最近碰到了这个问题,如果你不担心用户能够通过键盘添加线路,这可以让“Go”按钮显示出来:

android:singleLine="true"