android EditText提示不会出现

时间:2012-10-26 17:16:26

标签: android android-edittext

这似乎是我遇到的最奇怪的事情。

这是一个布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<EditText        
    android:id="@+id/GuessAppEditText"
    android:lines="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:gravity="center_horizontal"        
    android:inputType="textCapWords"
    android:hint="@string/Hint" />

</RelativeLayout>

hint的{​​{1}}未显示。

如果我删除了EditTextandroid:gravity="center_horizontal",则提示变为可见。

我完全不知道android:inputType="textCapWords"gravitytextCapWords有什么关系。它是另一个Android错误还是我做错了什么?在前一种情况下,什么是解决方法?我希望我的文本中心对齐并大写,并提示显示。或者我对可怜的Android想要太多?

4 个答案:

答案 0 :(得分:23)

只需添加一行即可,即android:ellipsize="start"

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <EditText
        android:id="@+id/GuessAppEditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:ellipsize="start"
        android:gravity="center_horizontal"
        android:hint="hint"
        android:inputType="textCapWords"
        android:lines="1" />

</RelativeLayout>

答案 1 :(得分:5)

可能原来的接受答案对最新的Android版本不再有效,通过设置提示颜色会使提示显示:

//{ path: 'crisis-center/:id', component: CrisisDetailComponent } //-- this is working
  { path: 'crisis-center/:id /:id2', component: CrisisDetailComponent}, // this is not working

ngOnInit() {
    this.sub = this.route
      .params
      .subscribe(params => {
        let id = +params['id'];
        let id2 = +params['id2']; //Unable to read id and id2 values
        this.service.getCrisis(id)
          .then(crisis => {
            if (crisis) {
              this.editName = crisis.name;
              this.crisis = crisis;
            } else { // id not found
              this.gotoCrises();
            }
          });
      });
  }

希望这可以帮助其他人,使用Android 5 +进行测试

答案 2 :(得分:0)

如上所述here,这似乎是一个错误。似乎该线程中的一些人发布了您可以尝试的解决方案或解决方案。您是否尝试删除提示并以编程方式设置它,以查看这是否是一种解决方法?

onCreate()

之前声明此内容
EditText guessAppEt;

这在onCreate()

guessAppEt = (EditText)findViewById(R.id.GuessAppEditText);
guessAppEt.setHint("Your hint here");

答案 3 :(得分:0)

现在是 2021 年,这似乎仍然是一个问题,因此对于尝试使用 EditText 并且在设计器中没有看到提示的任何人,您可以添加 tools:background="@android:color/transparent" 或为背景分配任何颜色,提示将出现。