ott*_*142 5 android android-layout android-4.0-ice-cream-sandwich
我的Android应用程序包含一个EditText视图,您可以在其中键入一些短消息(单行).按键盘的DONE键将消息附加到上面的日志视图(TextView)并清除输入视图.
这是我的视图xml的片段:
<LinearLayout ...>
<TextView
android:id="@+id/logView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/inputView"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:imeOptions="actionDone"
android:singleLine="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
要处理输入并重置视图,我使用OnEditorActionListener.
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
...
String input = mInputView.getText().toString();
mInputView.setText(""); // clear the input view
...
}
Run Code Online (Sandbox Code Playgroud)
我没有在Android 1.6 - 3上遇到任何问题.但是从IceCreamSandwich(> = Android 4)开始,有一个奇怪的错误,间歇性地发生(在大多数情况下在~10-30输入之后).
键入一些文本时,输入视图保持空白.光标仍然在位置0上闪烁,不显示任何文本.虽然单击DONE会将(不可见)文本添加到上面的日志视图中,但可以读取文本.同时隐藏键盘使EditText视图中的文本可见.
如接受的答案所述,这是一个(并非如此)已知的Android操作系统错误.简单的解决方案是以不同的方式清除EditText视图:
TextKeyListener.clear(mInputView.getText());
Run Code Online (Sandbox Code Playgroud)
小智 3
即使 API 级别较低,我也遇到了完全相同的问题。使用的时候有一个bug:
editText.setText("");
Run Code Online (Sandbox Code Playgroud)
多次清空 EditText。这是一个有帮助的解决方法:
TextKeyListener.clear(editText.getText());
Run Code Online (Sandbox Code Playgroud)
您可以在 Google Code 网站上了解此错误:http://code.google.com/p/android/issues/detail?id =17508
希望能帮助到你!
归档时间: |
|
查看次数: |
2546 次 |
最近记录: |