On a button click, I am attempting to inflate an EditText
above a RecyclerView
. But instead of the EditText being added to the top of the layout, thus pushing down the RecyclerView, it is simply being placed on top of the RecyclerView, covering it like so:
You can see that "New Text" is covering the first item of the RecyclerView. How can I get it to inflate above the RecyclerView, and have the RecyclerView pushed down, accommodating the newly added EditText?
Here is the XML of my FrameLayout that I am adding the EditText to:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:id="@+id/fragment_my_frame_layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbars="vertical" />
<com.melnykov.fab.FloatingActionButton
android:id="@+id/button_floating_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="16dp"
android:src="@drawable/ic_action_new"
fab:fab_colorNormal="@color/primary_dark"
fab:fab_colorPressed="@color/primary" />
Here is the onClick method of my FloatingActionButton where I wish to add the EditText above the RecyclerView:
public void onClick(View v) {
ViewGroup parent = (ViewGroup) rootView.findViewById(R.id.fragment_my_frame_layout);
View view = LayoutInflater.from(getActivity()).inflate(R.layout.add_keyword_edittext, parent, true);
}
Here is the XML of the EditText I am adding:
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/edit_text_above_listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:background="#00000000"
android:textCursorDrawable="@null"
android:imeOptions="actionDone"
android:singleLine="true"
android:text="New Text" />