如何在EditText上显示默认值之后显示EditText的提示? (Android Java)

时间:2016-12-06 02:47:16

标签: java android android-edittext textview android-relativelayout

我希望在我放入EditText的默认值后显示提示。 例如,EditText的内容必须如下所示: server.undertow.accesslog.enabled=true server.undertow.accesslog.pattern=%t %a "%r" %s (%D ms) - 全部在EditText内部,当用户点击它时,默认只显示192.168.1.1。

EditText将字符串作为输入。我希望提示只是存在,但不算作输入字符串。

请帮忙。

由于 此致

4 个答案:

答案 0 :(得分:3)

好的,我明白了。因此,当编辑文本获得焦点时,您需要浮动标签。您只需将编辑文本包装在TextInputLayout中。

以下是我更新的示例:

<android.support.design.widget.TextInputLayout
        android:id="@+id/input_layout_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/edit_txt_id"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/str_reource_id"
            android:inputType="depends_on_your_use_case"/>

</android.support.design.widget.TextInputLayout>

答案 1 :(得分:1)

ip_hint中的资源中定义您想要的iponCreate

editText.setText(R.string.ip_hint);
editTxt.setOnFocusChangeListener(new View.OnFocusChangeListener() {
  @Override
  public void onFocusChange(final View view, final boolean hasFocus) {
    if (hasFocus)
      editTxt.setHint(R.string.ip);
    else if(editText.getText().equals(context.getResource(R.string.ip))
      editText.setText(R.string.ip_hint);
  }
});

答案 2 :(得分:0)

无法完成此任务。使用提示作为输入字符串,并附加输入字符串。

答案 3 :(得分:0)

节目的后期,但您也可以在onCreate的提示中添加格式化的字符串,

[[0.99, 1.04, 1.16]]

其中hint_foo在字符串资源中定义,

<EditText
        android:id="@+id/foo"
        android:hint="@string/hint_foo"
        ...

然后在activity中使用getString()进行初始化,

<string name="hint_foo">Foo: %1$s</string>