【问题标题】:EditText android:hint not disappearing onFocusEditText android:提示不会消失 onFocus
【发布时间】:2012-12-14 19:15:45
【问题描述】:

我使用的是 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"
        />

但是当我关注文本框时,它会覆盖提示而不是提示消失。

我找到了有关向 EditText 添加 onFocus 侦听器的文档,但我想避免以编程方式执行此操作。下面的帖子也提到了使用选择器,但我找不到有关如何做到这一点的文档。

Android EditText Hint

那么处理这个问题的最佳方法是什么?

我根据@A--C 和@Flexo 推荐的here 写了这篇文章,因为他们说“除了“我也是”之外什么都不说的cmets 只是噪音。最好再问同样的问题。

这样的评论非常有用,可以作为联系第一个遇到问题的人的方式......也许他已经修复了它并且可以发布对每个人都有用但尚未发布的答案,因为他认为没有人会在意的。

我不会为了获得分数而发布问题的答案,以便我发表评论……我还有更多事情要做……无论如何,它应该可供所有人使用。

如果我没有尽一切努力解决我的问题,我就不会发布这个。

【问题讨论】:

  • 你在什么设备上测试?
  • 可以贴出所有的xml代码吗?
  • 不幸的是,我认为&lt;selector&gt; 仅适用于使用 Drawable 和 Color 资源制作状态列表,它还不适用于字符串。最好的办法是通过代码来实现(而且它也很容易,所以为什么不这样做)
  • 首先,用户实际上是在键入文本输入还是您以其他方式将其放在字段中?您的所有应用程序都遇到同样的问题吗?包括新的测试应用程序?它是否发生在所有设备上,包括模拟器(股票和 BlueStacks)?

标签: android android-edittext hint


【解决方案1】:

出于某种原因,我将活动和片段布局设置了两次。 在 Activity 上创建:

    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 中删除该布局即可解决问题。

【讨论】:

  • 同样的问题,同样的修复。谢谢。
【解决方案2】:

在 oncreate() 中使用以下代码

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

【讨论】:

    猜你喜欢
    • 2012-03-28
    • 2011-08-22
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多