在我的应用程序中,我有一个编辑用户详细信息页面,我想在相应的editText字段中显示当前名称,电子邮件地址等,然后用户可以删除它并根据需要输入新的。
有办法做到这一点吗?谢谢你的帮助
答案 0 :(得分:35)
有hint
功能吗?您可以使用setHint()
进行设置,或者将其设置为XML(尽管您可能不希望这样,因为XML不会“知道”您的用户的名称/地址:))
答案 1 :(得分:30)
答案 2 :(得分:18)
来自xml:
android:text="yourtext"
答案 3 :(得分:13)
您可以在 xml 文件中使用 text 属性来处理特定的Edittext字段。 例如:
<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");
答案 4 :(得分:2)
首先,您需要以某种方式加载用户详细信息
如果你没有,你需要找到你的EditText -
EditText et = (EditText)findViewById(R.id.youredittext);
找到EditText后,请致电
et.setText(theUserName);
答案 5 :(得分:0)
你可以这样做
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("");
}
}
});
答案 6 :(得分:0)
WARNING: Migration: reverseEngineerTable: Skipping index tblProducts.txtContractType on a LONGCHAR column
答案 7 :(得分:0)
使用android android:hint设置默认值或android:text
答案 8 :(得分:0)
我们希望在未来版本的 SDK 中,android 视图或组视图的每个视图中都有一个默认值属性。但是为了克服这个问题,在提交之前,检查视图是否为空等于真,然后分配一个默认值
示例:
/* add 0 as default numeric value to a price field when skipped by a user,
in order to avoid parsing error of empty or improper format value. */
if (Objects.requireNonNull(edPrice.getText()).toString().trim().isEmpty())
edPrice.setText("0");