将EditText与TextView相关联以用于标记目的

时间:2013-08-09 17:19:32

标签: android android-layout android-edittext

您好我正在学习Android编程并遇到了一个问题,我无法通过研究得到明确答案。

我有一个TextView,它作为我的EditText的标签。我有一个方法,它检查EditText是否为空字符串。如果该字符串为空,我希望能够获得对应于该EditText的TextView的引用,以便做一个像“请为其输入值”之类的东西。

我查看了getLabelFor / setLabelFor,但有没有办法在布局XML中执行此操作?

此类功能的最佳做法是什么。

2 个答案:

答案 0 :(得分:2)

您正在描述内置于EditText的功能。您可以在xml中定义一个名为hint的特殊字段,这是标记EditText而非附近TextView的推荐方式。此外,EditText有一个名为setError()link)的方法。例如,如果用户尝试点击提交按钮,您可以检查EditText是否为空,如果是,请致电setError()

答案 1 :(得分:0)

我想知道以下是否是你需要的东西

TextWatcher inputTextWatcher = new TextWatcher() {

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

    }

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

        if (s.toString().equals("")) {
            textView.setText("please enter a value for ..");
        } else {
            textView.setText("<the textedit is not empty>");
        }
    }

    public void afterTextChanged(Editable s) { 

    }
};

editText.addTextChangedListener(inputTextWatcher);