android - 在 OnTextChanged 事件中更改 EditText 内容的正确方法

标签 android android-edittext

下面的代码会导致无限循环问题(如文档所述)。 那么如何设置editText内容呢? 我有一个短信应用程序,其中 EditText 显示“键入以撰写”,我想删除 用户开始输入消息后的说明。时间差

et.addTextChangedListener(new TextWatcher() {
            public void afterTextChanged(Editable s) {
            }
           public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        if(et.getText().toString().equals(getString(R.string.txtMessage_type_to_compose))) {
        try {
            et.setText("");
        } catch (Exception e) {
             Log.d(TAG,"exception : " + e.toString());
        }   
            }
  });

最佳答案

你做错了。相反,请在您的 EditText 中使用它:

<EditText
    ....
    android:hint="Type to compose"/>

操作系统将负责删除该文本,您无需解决该问题。而且,它看起来会更漂亮。

关于android - 在 OnTextChanged 事件中更改 EditText 内容的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3865248/

相关文章:

java - Android EditText 有固定的输入

android - 在导航 Activity 时恢复 edittext 值

android - AlertDialog.Builder 打开另一个AlertDialog.Builder

android - 从网页获取文本到字符串

Android - 是否可以在文本上叠加文本?

android - 在前台服务中运行网络代码后仍然收到 "Excessive network usage (background)"警告

java - 如何在 Android 中实现破折号的 EditText,其中破折号的颜色随着输入的变化而变化

android - 如何解决 "Unable to connect to the editor to retrieve text"错误?

php - JSONObject 无法转换为 JSONArray - 我看不到 ListView

android - 从 Android 中的 EditText 中禁用/删除文本选择句柄