EditText android: подсказка не исчезает onFocus

Я на Android 4+, и я пытаюсь добавить подсказки к моим виджетам редактирования текста. Я попытался добавить подсказку к макету следующим образом …

<EditText android:id="@+id/bar_name" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" android:hint="@string/bar_name_hint" /> 

Но когда я сосредотачиваюсь на текстовом поле, он пишет над подсказкой вместо исчезновения намека.

Введите описание изображения здесь

Я нашел документацию по добавлению прослушивателя onFocus в EditText, но я хотел бы избежать этого программно. В сообщении ниже также упоминалось использование селекторов, но я не могу найти документацию о том, как это сделать.

Android EditText Hint

Итак, каков наилучший способ справиться с этим?

Я написал это как рекомендуемый здесь @ A – C и @Flexo, потому что они говорят «комментарии, которые ничего не говорят, кроме меня тоже» – это просто шум ». И лучше спросить тот же вопрос снова.

Подобные комментарии очень полезны как способ связаться с 1-м человеком с проблемой … возможно, он уже исправил это и может опубликовать ответ, который будет полезен для всех, но еще не опубликовал, потому что он думал, что никто не позаботится.

Я не собираюсь публиковать ответы на вопросы, чтобы получить очки, поэтому я могу прокомментировать … У меня есть больше вещей, которые нужно сделать … Это должно быть доступно всем в любом случае.

Я бы не опубликовал это, если бы не пробовал ВСЕ исправить мою проблему.

По какой-то причине у меня была настройка активности и фрагмента, установленная дважды. On Activity onCreate:

  protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.edit_consumption); 

И на фрагменте onCreateView:

 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.edit_consumption, null); 

Итак, у меня было 2 слоя макета. Мне нужно было удалить этот макет из Activity onCreate, чтобы устранить проблему.

Используйте следующий код в oncreate ()

 myEditText.setOnFocusListener(new OnFocusListener(){ public void onFocus(){ myEditText.setHint(""); } });