标签: android-textwatcher

Android TextWatcher.afterTextChanged与TextWatcher.onTextChanged

在什么情况下我应该使用afterTextChanged而不是onTextChanged反之亦然?例子将是最有启发性,注重为什么afterTextChanged必须重写,但onTextChangedafterTextChanged没有被覆盖.

android android-textwatcher

113
推荐指数
2
解决办法
5万
查看次数

TextWatcher的onTextChanged,beforeTextChanged和afterTextChanged之间的差异

在我的Android项目中,我不得不将TextChangedListener(TextWatcher)添加到编辑文本视图中.它有三个部分.

  • onTextChanged()
  • beforeTextChanged()
  • afterTextChanged()

这三者的不同之处是什么?我不得不在关键的lisner上实现一个表的搜索,对于我的情况,这三个看起来都是一样的.他们也运作相同.当我输入产品名称的一部分时,表格会重新绘制,只包含那些包含输入文本的产品.但是我使用了这个afterTextChanged()部分.我的代码是

EditProduct.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            // TODO Auto-generated method stub

            // System.out.println("onTextChanged"+s);
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub
            // System.out.println("beforeTextChanged"+s);
        }

        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
            // System.out.println("afterTextChanged"+s);

            String new_prx = s.toString();

            System.out.println(s);
            mini_productList = new ArrayList<Product>();

            // mini_productList
            int count = 0; …
Run Code Online (Sandbox Code Playgroud)

android textwatcher android-textwatcher

35
推荐指数
3
解决办法
3万
查看次数

onTextChanged vs Android中的afterTextChanged - 需要实时示例

我正在阅读Android编程中的TextWatcher.我无法理解afterTextChanged和onTextChanged之间区别.

虽然我提到了 TextWatcher的onTextChanged,beforeTextChanged和afterTextChanged之间的差异,但是当我需要使用onTextChanged而不是afterTextChanged时,我仍然无法想到这种情况.

android android-textwatcher

14
推荐指数
2
解决办法
3万
查看次数

TextWatcher onTextChanged不适用于软键盘自动完成/建议的单词

我在EditText上实现TextWatcher,以在用户输入新字符时在文本内查找并加下划线的一系列关键字。但是,当在软键盘上选择建议的/自动完成的单词时,不是将建议的单词添加到Edittext,然后调用onTextChanged函数,将删除一半的完整单词。我发现这很奇怪,因为输入单个字符会激活onTextChanged函数。任何帮助将不胜感激。

PS。如果有人知道即时处理EditText的更好方法,请告诉我。

码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_codify_test);
    final EditText editText = (EditText) findViewById(R.id.editText_codifyTest);
    editText.addTextChangedListener(new TextWatcher() {

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if (!checked) { //stop infinite loop
                checked = true;
                cursorPosition = editText.getSelectionStart(); //get cursor position before text modification
                codifyText(editText);
            } else {
                checked = false;
            }
        }
        @Override
        public void afterTextChanged(Editable s) {
        }
    }); …
Run Code Online (Sandbox Code Playgroud)

android textwatcher android-softkeyboard android-edittext android-textwatcher

6
推荐指数
1
解决办法
2572
查看次数

如何使用TextWatcher更新相同的EditText?

在我的Android应用程序中,我需要实现一个TextWatcher接口来实现onTextChanged.我遇到的问题是,我想用一些额外的字符串更新相同的EditText.当我尝试这样做时,程序终止.

 final EditText ET = (EditText) findViewById(R.id.editText1);
 ET.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count)
        {
            try
            {
                 ET.setText("***"+ s.toString());
                 ET.setSelection(s.length());
            }
            catch(Exception e)
            {
                Log.v("State", e.getMessage());
            }
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after)
        {

        }

        @Override
        public void afterTextChanged(Editable s)
        {               
        }
    });
Run Code Online (Sandbox Code Playgroud)

我的程序终止,甚至我尝试捕获异常,就像我的代码仍然终止.有谁知道为什么会发生这种情况以及如何实现这一目标?谢谢.

java android textwatcher android-edittext android-textwatcher

5
推荐指数
1
解决办法
2万
查看次数

当没有调用 editText TextWatcher.onTextChanged 上的 setText 时

每当EditText字符串更改时,onTextChanged都会调用。

现在,当我开始一个新的Activity并通过 发送数据时BundleonTextChanged不会被调用。

if( getIntent().getExtras() != null) {
    Bundle b = getIntent().getExtras();
    int value = -1;

    if(b != null)
        value = b.getInt("key");
    edit1.setText("Mywords:");
}
Run Code Online (Sandbox Code Playgroud)

我怎么称呼它?

java android inner-classes android-textwatcher

5
推荐指数
1
解决办法
4962
查看次数

如何在android中的多个编辑文本上添加文本观察器?

我有一个活动,其中包含两个编辑文本,并且TextWatcher该活动中有一个单独实现的活动。我想创建一个实现该编辑文本的TextWatcherTextWatcher。我该如何执行该代码:-

private TextWatcher getmWatcher = new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

    @Override
    public void afterTextChanged(Editable s) {
        checkFieldsForEmpty();
    }
};
private TextWatcher mWatcher = new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) …
Run Code Online (Sandbox Code Playgroud)

android android-textwatcher

4
推荐指数
1
解决办法
1万
查看次数

使用setText()不想调用textwatcher事件?

我正在使用EditText.当我使用setText()时.TextWatcher事件正在调用.我不需要打电话吗?谁能帮我?

        txt_qty.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

            }

            @Override
            public void afterTextChanged(Editable s) {
            }
        });
Run Code Online (Sandbox Code Playgroud)

谢谢.

android settext android-edittext android-textwatcher

3
推荐指数
1
解决办法
4539
查看次数

自定义电话号码格式 (XXX-XXX-XXXX) TextWatcher 卡住了

一切正常: 我想要在电话号码 EditText 中使用的格式 (XXX-XXX-XXXX) 有效。

问题是: 删除字符“-”时,不能删除。我被卡住了。

在此处输入图片说明

电话号码TextWatcher.java

import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;

public class PhoneNumberTextWatcher implements TextWatcher {

    private static final String TAG = PhoneNumberTextWatcher.class
            .getSimpleName();
    private EditText edTxt;
    public boolean isDelete;

    public PhoneNumberTextWatcher(EditText edTxtPhone) {
        this.edTxt = edTxtPhone;
        edTxt.setOnKeyListener(new View.OnKeyListener() {

            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (event.getAction() == KeyEvent.KEYCODE_DEL) {
                    isDelete = true;
                    LogUtils.Log_e("ISDELETE", String.valueOf(isDelete));
                }
                return false;
            }
        });
    }
l.substring(6, val.length());
            } …
Run Code Online (Sandbox Code Playgroud)

android android-textwatcher onkeylistener addtextchangedlistener

3
推荐指数
1
解决办法
4564
查看次数

将 Android TextWatcher 与多个用户输入值一起使用并更新这些值

我也是安卓新手。我尝试开发一个 android 应用程序来获取用户输入项的总数。这是我的应用程序的草图。在此处输入图片说明

用户必须输入First Row Col1 和Col 2。但是First Row Col3 可以输入也可以不输入。在 Sub 1 textview 中,应显示第一行的总值。此值也应显示在结果文本视图中。同样,如果用户将数据插入到第二行,则值必须在 Col1 和 Col2 下输入。如果用户喜欢,可以在第 3 列下输入值。第二行总值应显示在子 2 文本视图中。如果用户将值输入到第二行,则结果文本视图应自动更新为子 1 和子 2 文本视图的总值。我尝试按如下方式执行此操作,但我找不到正确的方法来执行此操作。请如果有人帮我解决这个问题,我真的很感激。这是java类

public class AddTwo extends AppCompatActivity {

    EditText edit1, edit2, edit3;
    EditText edit4, edit5, edit6;
    TextView textViewSub1, textViewSub2, textViewResult;

    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.activity_add_two);

        /*First row variables*/
        edit1 = (EditText) findViewById(R.id.editText1);
        edit2 = (EditText) findViewById(R.id.editText2);
        edit3 = (EditText) findViewById(R.id.editText3);
        textViewSub1 …
Run Code Online (Sandbox Code Playgroud)

android user-input android-textwatcher

1
推荐指数
1
解决办法
743
查看次数

如何在 UI 中显示字符限制以及为用户数字化了多少?安卓Java

我怎样才能做到这一点?我的意思是显示字符的限制以及在输入文本上数字化了多少。

编辑文本字符用户界面

java xml android charactercount android-textwatcher

1
推荐指数
1
解决办法
1073
查看次数

文本更改时将数字转换为货币格式

我使用RxTextView.textChangesEditText,当用户键入的变化值EditText,以数字转换为货币格式如下图所示:

1,000
Run Code Online (Sandbox Code Playgroud)

但是我看不到任何将数字转换为货币格式的数字

我正在使用来自: NumberFormat.getNumberInstance(Locale.US).format(productPrice);

我的代码就像下面这样:

Observable<CharSequence> observableDiscountPrice = RxTextView.textChanges(discountPriceEdittext);
        observableDiscountPrice.map(new Function<CharSequence, Boolean>() {
            @Override
            public Boolean apply(@io.reactivex.annotations.NonNull CharSequence charSequence) throws Exception {
                try {
                    if (charSequence.length() > 0) {
                        String pPrice = NumberFormat.getNumberInstance(Locale.US).format(charSequence.toString());
                        originalPriceEdittext.setText(String.valueOf(pPrice));
                        return true;
                    } else {
                        return false;
                    }
                } catch (Exception e) {
                    return true;
                }
            }
        }).subscribe(new Subject<Boolean>() {
            @Override
            public boolean hasObservers() {
                return false;
            }

            @Override
            public boolean hasThrowable() {
                return false; …
Run Code Online (Sandbox Code Playgroud)

android rx-android android-textwatcher

0
推荐指数
1
解决办法
1618
查看次数