setHint和setHintColor无法正常工作

时间:2012-02-28 09:26:16

标签: android

我正在制作一个在预定时间发送短信的应用。计划按钮执行计划功能。我有三个文本区域来获取用户输入。在按下日程表按钮后,我想用提示重置这些文本区域。所以,我已经定义了一个函数:

           public void resetInputFields() {
    /**
     * Resetting the text box to their initial values
     * 
     * */
    bdayMsg.setHint("Type your Message here..");
    bdayMsg.setHintTextColor(R.color.text_grey);

    phoneNum.setHint("Recipients..");
    phoneNum.setHintTextColor(R.color.text_grey);

    setBirthdayButton.setHint("Date");
    setBirthdayButton.setHintTextColor(R.color.text_grey);

}

但如果我执行以下操作,则setHint在完美运行时不会产生任何效果:

   ublic void resetInputFields() {
    /**
     * Resetting the text box to their initial values
     * 
     * */
    bdayMsg.setText("Type your Message here..");
    bdayMsg.setTextColor(R.color.text_grey);

    phoneNum.setText("Recipients..");
    phoneNum.setTextColor(R.color.text_grey);

    setBirthdayButton.setText("Date");
    setBirthdayButton.setTextColor(R.color.text_grey);

}

我的主要问题是我想将文本区域重置为提示而不是文本...但我无法这样做....文本区域只有在我执行setText时才会重置..... .. 但是我无法将文本区域重置为提示。 所以,PLZ家伙帮我弄清楚提示的问题是什么........

3 个答案:

答案 0 :(得分:3)

将文字设为""
以这种方式,用户将看到提示(如果文本不同,那么提示就消失了“”)

编辑:

public void resetInputFields() {
    /**
     * Resetting the text box to their initial values
     * 
     * */
    bdayMsg.setText("");
    bdayMsg.setTextColor(R.color.text_grey);

    phoneNum.setText("");
    phoneNum.setTextColor(R.color.text_grey);

    setBirthdayButton.setText("");
    setBirthdayButton.setTextColor(R.color.text_grey);

}

答案 1 :(得分:2)

bdayMsg.setHintTextColor(Color.GRAY);

答案 2 :(得分:0)

如果我做得对,你只举两个例子的例子,所以我想你不会同时使用这两个代码样本..

解决方案很简单,但我不确定您的布局设置。你能告诉我们那个布局的xml吗?

通常我使用以下方法在布局的xml中设置提示:

android:hint="Enter your name here"

并且提示的默认颜色为灰色。当用户删除输入的文本或者在一瞬间将其设置为空字符串时,此提示将再次出现

但是如果您同时从代码中设置文本和提示,当然文本具有优先级并且提示将不可见。

希望它有所帮助。