Android 编辑文本提示不';别走开

Android 编辑文本提示不';别走开,android,android-listview,Android,Android Listview,问题:在可以处理我的两个窗格Fragmentcontainer two的设备上,当输入文本时,EditView android:hint会隐藏listview和所选视图。然而,在摩托罗拉XOOM和Nexus7上,插入文本时,android:hint不会消失 更新:我已经解决了调整活动大小的问题。由于重新绘制,仅显示列表视图没有调整大小。但是,我的问题是,EditText没有隐藏android:hint。我现在已经添加了我的问题的更新图像以及下面的更新代码。我会保留这些旧东西以作记录,除非其他人认

问题:在可以处理我的两个窗格
Fragment
container two的设备上,当输入文本时,
EditView android:hint
会隐藏listview和所选视图。然而,在摩托罗拉XOOM和Nexus7上,插入文本时,
android:hint
不会消失

更新:我已经解决了调整活动大小的问题。由于重新绘制,仅显示
列表视图
没有调整大小。但是,我的问题是,
EditText
没有隐藏
android:hint
。我现在已经添加了我的问题的更新图像以及下面的更新代码。我会保留这些旧东西以作记录,除非其他人认为它适合搬走

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/contact_detail_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/chat_camera_button"
            style="android:selectableItemBackground"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:background="?android:attr/selectableItemBackground"
            android:src="@drawable/camera_button" />

        <ImageButton
            android:id="@+id/chat_text_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_toLeftOf="@+id/chat_record_button"
            android:background="?android:attr/selectableItemBackground"
            android:src="@drawable/send_text_button" />

        <ImageButton
            android:id="@+id/chat_record_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:background="@android:color/transparent"
            android:focusableInTouchMode="true"
            android:longClickable="true"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:src="@drawable/mic_disabled" />

       <EditText
           android:id="@+id/chat_message_text"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentBottom="true"
           android:layout_toLeftOf="@+id/chat_text_button"
           android:layout_toRightOf="@+id/chat_camera_button"
           android:ems="10"
           android:hint="@string/message_hint"
           android:inputType="textMultiLine|textCapSentences"
           android:maxLines="3"
           android:minLines="1" />

        <ListView
            android:id="@+id/messages_list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@+id/chat_message_text"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:stackFromBottom="true"
            android:transcriptMode="alwaysScroll" />

</RelativeLayout>

以下是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/contact_detail_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

        <Button
            android:id="@+id/details_record_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:text="Send" />

       <EditText
           android:id="@+id/chat_message_input"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentBottom="true"
           android:layout_alignParentLeft="true"
           android:layout_toLeftOf="@+id/details_record_button"
           android:ems="10"
           android:hint="@string/message_hint"
           android:paddingRight="10dp"
           android:paddingTop="10dp"
           android:inputType="textMultiLine"
           android:minLines="1"
           android:maxLines="3"
           android:textColor="#00FF00"/>

        <ListView
            android:id="@+id/messages_list"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_above="@+id/chat_message_input"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:background="#000000" />

</RelativeLayout>

在编辑文本中添加文本观察程序,然后当您看到文本不等于“”时,将提示文本设置为“”


在我的例子中,发生这种情况是因为我对同一布局的多个层进行了充气。例如,我在活动的
onCreate
中这样做:

setContentView(R.layout.activity_login);
在我的片段中也这样做:

View view = inflater.inflate(R.layout.activity_login, container, false);
...
return view;
这将创建两个完全重叠的控件。因此,当您在
EditText
控件中键入文本时,您只能将其键入其中一个控件中。其中一个显示您键入的文本,而另一个为空且未聚焦,正确显示提示


因此,解决方案是从活动或所有片段中删除布局。

只是安装APK和启动应用程序的多次迭代会导致此问题。卸载emulator或设备中的应用程序,应该可以解决此问题


你可以试着按下后退按钮,重新启动应用程序,以确保你没有多个fragment实例

你试过让你的ListView高度“包装内容”吗?是的,我也试过。对我来说效果很好。你在设备上测试过吗?我正在Droid RAZR上测试。此外,活动是否在片段活动中也很重要?
setContentView(R.layout.activity_login);
View view = inflater.inflate(R.layout.activity_login, container, false);
...
return view;