我有EditText
字段和"保存"我的Android版面中的Button
。
创建Fragment
后,我会为onClickListener
分配Button
。键盘打开前和键盘关闭后Button
正常工作,但在编辑onClickListener
时似乎丢失了EditText
。
我需要在某处重新分配onClickListener
,以便在键盘打开时可用吗?
这是布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top">
<Button android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/add_comment_details"
android:text="@string/done"
android:id="@+id/done_button"
android:textColor="@color/red_1"
android:layout_alignParentBottom="true"
android:textSize="@dimen/text_size_10"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/text_field2"
android:layout_above="@id/done_button"
android:hint="@string/enterText2"
android:gravity="start"
android:background="@drawable/add_comment_entertext"
android:padding="20dp"
/>
</RelativeLayout>
这是代码Fragment
,其中我添加了onClickListener
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.app_addcommentfragment, null);
text = (EditText) view.findViewById(R.id.text_field2);
done = (Button) view.findViewById(R.id.done_button);
done.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("MyFragment","onClick");
doneListener.onClick(saveAndClose);
}
});
return view;
}
我也在android:windowSoftInputMode="adjustResize"
中使用Manifest
,因此当键盘打开时,EditText
和Button
都会留在屏幕上。
更奇怪的是,如果我将布局切换到这个,按钮可以工作,但按钮占据了大部分屏幕:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/text_field2"
android:hint="@string/enterText2"
android:gravity="start"
android:background="@drawable/add_comment_entertext"
android:padding="20dp"
/>
<Button android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/add_comment_details"
android:text="@string/done"
android:id="@+id/done_button"
android:textColor="@color/red_1"
android:layout_below="@id/text_field2"
android:layout_alignParentBottom="true"
android:textSize="@dimen/text_size_10"/>