无法在EditText上使用文本列表器

时间:2017-04-08 11:45:19

标签: android

我试图隐藏TextView与其相关的EditText为空时。要检查它是否为空,我想使用我在其他帖子中看到的TextChangedListner,但不知怎的,我没有这个选项。当我使用addTextChangedListner时,我会收到Cannot resolve symbol 'addTextChangedListen'

的警告

我还包括EditTextTextView

import android.widget.EditText;
import android.widget.TextView;

public class Register extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
    }

    //first name
    EditText firstnameBox = (EditText) findViewById(R.id.firstnameText);
    firstnameBox.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged() {
            //here i'm going to see if the firstnameBox is empty or not
            ...
        }
    });
}

如何使用文本更改列表器?

2 个答案:

答案 0 :(得分:0)

OnCreate

之后移动setContentView方法内的以下行
    //first name
EditText firstnameBox = (EditText) findViewById(R.id.firstnameText);
firstnameBox.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged() {
        //here i'm going to see if the firstnameBox is empty or not
        ...
    }
});

答案 1 :(得分:0)

您必须以可执行的方式编写代码。

editText.addTextChangeListener代码写入onCreate()方法。

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_register);

   EditText firstnameBox = (EditText) findViewById(R.id.firstnameText);
   firstnameBox.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged() {
            //here i'm going to see if the firstnameBox is empty or not
            ...
        }
    });
}

有关详细信息,请查看此Android Activity LifeCycle