有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 EditText在Java中带有永久性提示

我有一个EditText里面有一些信息。当没有信息时, 我正在用setHint()显示一个标题

final EditText info = new EditText(activity);
if (data.getinfo() != null && !data.getAddress().trim().equals("")) {
    info.setText(data.getinfo());
} else {
    info.setHint(R.string.info);
}

我想显示标题,即使EditText有信息,信息也应该在标题下面

我试着用setText()。但这也不管用

if (condition) {
    info.setText(R.string.info);
    info.setText(data.getinfo());
} else {
    info.setHint(R.string.info);
}

共 (1) 个答案

  1. # 1 楼答案

    RelativeLayout中,使用TextView作为View覆盖在EditText之上。使用合适的颜色和字体大小来达到你想要的效果

    这里有一个提示

    <RelativeLayout …>
        <EditText android:id="@+id/name" 
            android:layoutWidth="match_parent"
            android:layoutHeight="wrap_content" >
    
        <TextView android:id="@+id/name_hint" 
            android:layoutWidth="wrap_content"
            android:layoutHeight="wrap_content"
            android:gravity="left|center_vertical"
            android:layout_alignLeft="@id/name"
            android:layout_alignRight="@id/name"
            android:layout_alignTop="@id/name"
            android:layout_alignBottom="@id/name"
            android:layout_alignBottom="@id/name" >
    </RelativeLayout>
    

    这只是一个起点,你可以调整你的EditText的高度,定位你的TextView,改变它的gravity等等,来实现你想要的