以编程方式在android中设置编辑文本提示?

时间:2012-02-05 21:31:54

标签: java android android-edittext

有没有办法用java设置android edittext里面显示的文字提示?我希望我的应用程序能够在不同的时间在edittext中显示不同的内容,提前感谢

9 个答案:

答案 0 :(得分:65)

您是否尝试过setHint

myTextView.setHint("My conditional hint");

希望有所帮助......

答案 1 :(得分:21)

如果您使用简单的Editext而不使用TextInputLayout

EditText etUsername;
etUsername = (EditText) findViewById(R.id.etUsername);
etUsername.setHint("Your Hint");

如果您在Editext内使用TextInputLayout,则需要更改TextInputLayout而不是Edittext的属性:

TextInputLayout layoutUser;
layoutUser = (TextInputLayout) findViewById(R.id.inputLayoutUname);
layoutUser.setHint(getResources().getString(R.string.hintFaculty));

答案 2 :(得分:14)

致电EditText上的setHint()

答案 3 :(得分:8)

((TextView) findViewById(R.id.yourEditTextId)).setHint("hint text");

答案 4 :(得分:3)

如果您使用actionbarsherlock searchview,这是动态设置字符串的最佳方式

   AutoCompleteTextView searchTextView =
                    (AutoCompleteTextView) mSearchView.findViewById(R.id.abs__search_src_text);

searchTextView.setHint(getResources().getString(R.string.search));

答案 5 :(得分:2)

<强>科特林

public class Player extends Actor {

float x,y;
float screenWidth,screenHeight;
private Sprite sprite;
Texture image;
float width,height;
public Player(Texture image,float x, float  y,float width,float height, float screenWidth, float screenHeight)
{
    this.width = width;
    this.height = height;
    this.x = x;
    this.y = y;
    this.screenWidth = screenWidth;
    this.screenHeight = screenHeight;

    this.image = image;
    sprite = new Sprite(image, 0, 0, image.getWidth(), image.getHeight());
    sprite.setPosition(x, y);

}

@Override
public float getX() {
    return x;
}

@Override
public void setX(float x) {
    this.x = x;
}

@Override
public float getY() {
    return y;
}

@Override
public void setY(float y) {
    this.y = y;
}

@Override
public float getWidth() {
    return width;
}

@Override
public void setWidth(float width) {
    this.width = width;
}

@Override
public float getHeight() {
    return height;
}

@Override
public void setHeight(float height) {
    this.height = height;
}

@Override
public void act(float delta) {
    super.act(delta);
}

@Override
public void draw (Batch batch, float parentAlpha) {
    batch.draw(sprite,x,y,width,height);
}
}

答案 6 :(得分:0)

对于editText.hint,您必须从activity_main.xml中删除edit.Text的名称,然后在Java或activity_main.xml中的MainActivity中进行设置,因为首选文本来提示。

答案 7 :(得分:0)

 <EditText
     android:id="@+id/text"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:inputType="textMultiLine|textLongMessage"
     android:hint="\n"/>

老实说我不明白为什么..但是在xml中包含“\n”作为提示可以解决问题!

现在您可以从 Java 代码调用 setHint:

searchEditText.setHint(getString(R.string.search_hint));

如果要允许文本根据房间自动拆分,请从strings.xml中删除\n

<string name="search_hint">keyword, location, max price (e.g. 1K, 1M)</string>

答案 8 :(得分:-6)

您可以尝试以下,

Java中的

yourEditText.setHint("hint");

在Kotlin

yourEditText.hint = "Your hint"