Android的 - 在EDITTEXT默认值(Android - default value in

2019-06-24 00:19发布

在我的应用我有一个修改用户详细信息页面,我想显示当前的名称,在相应领域的EditText电子邮件地址等,然后用户可以只擦除和输入,如果他们想要一个新的。

有没有办法做到这一点? 谢谢你的帮助

Answer 1:

您可以使用EditText.setText(...)来设置一个EditText字段的当前文本。

例:

yourEditText.setText(currentUserName);


Answer 2:

还有就是hint功能? 您可以使用setHint()进行设置,或在XML设置(虽然你可能不希望这样,因为XML不“知道”你的用户:)的名称/ ADRESS)



Answer 3:

从XML:

  android:text="yourtext"


Answer 4:

你可以在特定领域的EditText XML文件使用text属性。 例如 :

<EditText
    android:id="@+id/ET_User"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="yourusername"/>

这样所有EDITTEXT字段包含任何ü要文本,如果用户想改变特定EDITTEXT场他删除旧的文本和输入他的新文本。

另一种方式只是你在活动类特定EDITTEXT域ID,并设置文本的那一个。

另一种方式=编程

例:

EditText username=(EditText)findViewById(R.id.ET_User);

username.setText("jack");


Answer 5:

首先,你需要以某种方式加载用户的详细信息

然后,你需要找到自己的EditText如果你没有它 -

EditText et = (EditText)findViewById(R.id.youredittext);

你发现你的EditText,通话后

et.setText(theUserName);


Answer 6:

你可以这样做

private EditText nameEdit;
private EditText emailEdit;
private String nameDefaultValue = "Your Name";
private String emailDefaultValue = "abc@xyz.com";

和onCreate方法内

nameEdit = (EditText) findViewById(R.id.name);
    nameEdit.setText(nameDefaultValue); 
    nameEdit.setOnTouchListener( new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (nameEdit.getText().toString().equals(nameDefaultValue)){
                nameEdit.setText("");
            }
            return false;
        }
    });

    nameEdit.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {               
            if(!hasFocus && TextUtils.isEmpty(nameEdit.getText().toString())){
                nameEdit.setText(nameDefaultValue);
            } else if (hasFocus && nameEdit.getText().toString().equals(nameDefaultValue)){
                nameEdit.setText("");
            }
        }
    });     

    emailEdit = (EditText)findViewById(R.id.email);
    emailEdit.setText(emailDefaultValue);   
    emailEdit.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View v, boolean hasFocus) {               
            if(!hasFocus && TextUtils.isEmpty(emailEdit.getText().toString())){
                emailEdit.setText(emailDefaultValue);
            } else if (hasFocus && emailEdit.getText().toString().equals(emailDefaultValue)){
                emailEdit.setText("");
            }
        }
    });


文章来源: Android - default value in editText