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

php*_*oid 5 java android inner-classes android-textwatcher

每当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)

我怎么称呼它?

Rea*_*hed 7

所以这是你的代码的修改版本。这个想法是EditText在你添加一个之后设置文本TextWatcher

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

    if(b != null)
        value = b.getInt("key");

    // Add  the TextWatcher here
    edit1.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            // Toast.makeText(MainActivity.this, "before text changed", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // Toast.makeText(MainActivity.this, "on text changed", Toast.LENGTH_LONG).show();
        }

        @Override
        public void afterTextChanged(Editable s) {
            // Toast.makeText(MainActivity.this, "after text changed", Toast.LENGTH_LONG).show();
        }
    });

    // Now the set the value in your EditText
    edit1.setText("Mywords:");
}
Run Code Online (Sandbox Code Playgroud)