如何向类中的EditText中添加不在XML中的占位符文本?

我有以下EditText在我的代码,这将显示在alertdialog:

    final EditText name = new EditText(this);

当前回答

如果你指的是你要在布局中添加它的位置。 您可以定义一个容器,如FrameLayout,并在创建时将此EditText添加到它。

<LinearLayout xmlns=".."/>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/container" android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

FrameLayout layout = (FrameLayout) findViewById(R.id.container);
layout.addView(name);

其他回答

如果你想在你的EditText视图中插入文本,在字段被选中后(不像提示的行为),这样做:

在Java中:

// Cast Your EditText as a TextView
((TextView) findViewById(R.id.email)).setText("your Text")

在芬兰湾的科特林:

// Cast your EditText into a TextView
// Like this
(findViewById(R.id.email) as TextView).text = "Your Text"
// Or simply like this
findViewById<TextView>(R.id.email).text = "Your Text"

在活动中

<EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:background="@null"
                android:hint="Text Example"
                android:padding="5dp"
                android:singleLine="true"
                android:id="@+id/name"
                android:textColor="@color/magenta"/>

这是如何使输入密码有提示,不转换为* !!

关于XML:

android:inputType="textPassword"
android:gravity="center"
android:ellipsize="start"
android:hint="Input Password !."

感谢芒果和rjjr的洞察力:D。

你必须使用android:hint属性

<EditText
android:id="@+id/message"
android:hint="<<Your placeholder>>"
/>

在Android Studio中,您可以从XML ->设计视图切换,并单击布局中的组件,在本例中是EditText字段。 这将显示该GUI组件的所有适用属性。 当您不知道所有属性时,这将很方便。

您会惊讶地发现EditText有超过140个自定义属性。

在Android Studio中,您可以通过GUI添加提示(占位符)。首先在设计器视图上选择EditText字段。然后点击IDE左边的组件树(通常它在那里,但它可能在那里最小化),在那里你可以看到所选EditText的属性。找到提示字段如下图像

在那里,您可以添加提示(占位符)到EditText