问题:在可以处理我的双窗格Fragment
容器的设备上,两个显示列表视图和选定的视图并排显示,EditView android:hint
会在输入文本时隐藏。但是,在Motorola XOOM上和Nexus 7,android:hint
在插入文本时不会消失。
更新:我已经找到了ListView
调整大小活动问题。由于重绘,它只显示ListView
没有调整大小。但是,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>
UPDATE [OLD]:这似乎只是我在家测试的Droid RAZR的本地..我已经测试过3.还有其他人在Droid RAZR上有问题吗?
我正在尝试让我的列表视图和编辑文本重新调整大小,因为用户输入更多行(最多3行)。但是,由于某种原因,提示不会消失,列表视图不会重新调整大小。
此外,当文本在里面时,我的编辑文本中使用的android:提示不会消失。
这是错误图像的示例 (忽略发送按钮,我不再重新调整大小)
想要的人的图像:http://i.stack.imgur.com/e7FJJ.png
Black - ListView
White - EditText + Button
Green - Text inside EditText
以下是我的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>
答案 0 :(得分:3)
在我的情况下,发生这种情况是因为我夸大了同一布局的多个图层。例如,我在我的活动onCreate
中执行此操作:
setContentView(R.layout.activity_login);
同时也在我的片段中执行此操作:
View view = inflater.inflate(R.layout.activity_login, container, false);
...
return view;
这会创建2个完全重叠的控件。因此,当您在EditText
控件中键入文本时,只需将其键入其中一个控件。因此,其中一个显示您键入的文本,而另一个显示为空且未聚焦,正确显示提示。
因此,解决方案是从活动或所有片段中删除布局。
答案 1 :(得分:1)
将TextWatcher添加到editText中,然后当您看到文本不等于“”时,将提示文本设置为“”
et1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// MAKE CHANGES TO YOUR EDITTEXT HINT TEXT HERE
}
});
答案 2 :(得分:0)
只是安装APK和启动应用程序的多次迭代都会导致此问题。在模拟器或设备中卸载APP,它应该解决问题。
您可以尝试按下后退按钮并重新启动应用,以确保您没有多个片段实例。