Android – editText中的默认值

在我的应用程序中,我有一个编辑用户详细信息页面,我想在相应的editText字段中显示当前名称,电子邮件地址等,然后用户可以删除它,并input一个新的,如果他们想要的。

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

Solutions Collecting From Web of "Android – editText中的默认值"

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

例:

 yourEditText.setText(currentUserName); 

hintfunction? 您可以使用setHint()来设置它,或者将它设置为XML(尽pipe您可能不需要这样做,因为XML并不知道用户的名字/地址:))

从xml:

  android:text="yourtext" 

您可以使用您的XML文件中的文本属性特定的Edittext字段。 例如 :

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

像这样所有的编辑文本字段包含任何你想要的文本,如果用户想要改变特定的Edittext字段,他删除旧文本并input他的新文本。

另一种方法就是在活动类中获得特定的Edittext字段ID并将文本设置为该字段

另一种方式=编程

例:

 EditText username=(EditText)findViewById(R.id.ET_User); username.setText("jack"); 

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

那么你需要find你的EditText,如果你没有它 –

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

find你的EditText后,打电话

 et.setText(theUserName); 

你可以这样做

 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(""); } } });