键盘打开时Android按钮丢失onClickListener

时间:2014-09-19 14:22:23

标签: android button android-edittext onclicklistener

我有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,因此当键盘打开时,EditTextButton都会留在屏幕上。

更奇怪的是,如果我将布局切换到这个,按钮可以工作,但按钮占据了大部分屏幕:

<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"/>

0 个答案:

没有答案