android:ime 渲染问题

android:ime Rendering Problems

我在 Google 的登录模板中遇到错误。我使用登录 activity,但我总是在 rendering/design 屏幕中收到以下错误:

The following classes could not be found:
- EditText (Fix Build Path)
Tip: Try to build the project.

问题是由 android:imeActionId xml 方法引起的。这是我的 (Google's) 代码:

<EditText
                android:id="@+id/password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/prompt_password"
                android:imeActionId="@+id/login"
                android:imeActionLabel="@string/action_sign_in_short"
                android:imeOptions="actionUnspecified"
                android:inputType="textPassword"
                android:maxLines="1"
                android:singleLine="true" />

如果我删除所有 android:ime[...] 行,它的渲染效果非常好。 我使用 Android Studio 1.5.1 和 compileSdkVersion 21

希望你能帮我解决这个问题!

干杯!

这是由于 android:imeActionId 行的误导性名称造成的。

它的初始值"@+id/login"表示它正在设置自己的 id 值,但它希望您分配一个值。

请看Why does setting imeActionId with a predefined ID resource create an error?

它提供了适合我的解决方案。