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

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

    final EditText name = new EditText(this);

当前回答

在活动中

<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"/>

其他回答

啊,好吧。你要找的是setHint(int)。只需从xml中传入一个字符串的资源id,就可以开始了。

EDIT

XML中,它是android:hint="someText"

你必须使用android:hint属性

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

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

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

在活动中

<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"/>

如果你指的是你要在布局中添加它的位置。 您可以定义一个容器,如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"