Intereting Posts
Примеры пользовательского интерфейса Android Как получить доступ к файлу / данным / данным из эмулятора Android от Genymotion? Проблемы после установки java 8 Как сообщить своему пользовательскому FragmentPagerAdapter прекращение уничтожения моих фрагментов? Как удалить значок настроек в правом верхнем углу панели действий? Android CardView со странной границей при прозрачности Каковы инструменты для создания SDK для Android, инструменты для платформы и инструменты? И какую версию следует использовать? Как показать окно редактирования текста над экраном? Android: открытие активности SMS с несколькими получателями Наблюдаемый против Flowable rxJava2 Android: как обращаться с кнопкой BadParcelableException в коде Google Maps Как я могу заменить type_orientation (устарел) для android 4.0.3? Android и Facebook разделяют намерения «Произошла ошибка при автоматической активации пакета com.android.ide.eclipse.adt"

Android – значение по умолчанию в editText

В моем приложении у меня есть страница редактирования прав пользователя, и я хочу отображать текущее имя, адрес электронной почты и т. Д. В соответствующих полях editText, а затем пользователь может просто удалить это и ввести новый, если захотят.

Есть ли способ сделать это? Спасибо за любую помощь

Solutions Collecting From Web of "Android – значение по умолчанию в editText"

Вы можете использовать EditText.setText(...) чтобы установить текущий текст поля EditText.

Пример:

 yourEditText.setText(currentUserName); 

Есть hint ? Вы можете использовать setHint() для его установки или установить в XML (хотя вы, вероятно, этого не хотите, потому что XML не «знает» имя / адрес вашего пользователя :))

Из xml:

  android:text="yourtext" 

Вы можете использовать свойство text в вашем XML- файле для определенных полей Edittext. Например :

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

Например, все поля Edittext содержат текст, который хотите, если пользователь хочет изменить конкретное поле Edittext, он удаляет старый текст и вводит свой новый текст.

В противном случае вы получите конкретный идентификатор поля Edittext в классе активности и установите для него текст.

Другой способ = программно

Пример:

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

Сначала вам нужно как-то загрузить данные пользователя

Затем вам нужно найти свой EditText, если у вас его нет,

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

После того, как вы нашли свой 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(""); } } });