Hide a Relativelayout in recyclerview

I am using this liabray for swipe gestures. https://github.com/nikhilpanju/RecyclerViewEnhanced.

Activity:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_admin_panel);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);


        unclickableRows = new ArrayList<>();
        unswipeableRows = new ArrayList<>();
        dialogItems = new String[25];
        for (int i = 0; i < 25; i++) {
            dialogItems[i] = String.valueOf(i + 1);
        }

        mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
        mAdapter = new MainAdapter(this, getData());
        mRecyclerView.setAdapter(mAdapter);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));

        onTouchListener = new RecyclerTouchListener(this, mRecyclerView);
        onTouchListener
                .setIndependentViews(R.id.rowButton)
                .setViewsToFade(R.id.rowButton)
                .setClickable(new RecyclerTouchListener.OnRowClickListener() {
                    @Override
                    public void onRowClicked(int position) {
                        util.shortToast(getApplicationContext(), "Row " + (position + 1) + " clicked!");
                    }

                    @Override
                    public void onIndependentViewClicked(int independentViewID, int position) {
                        util.shortToast(getApplicationContext(), "Button in row " + (position + 1) + " clicked!");
                    }
                })
                .setSwipeOptionViews(R.id.add, R.id.edit, R.id.change)
                .setSwipeable(R.id.rowFG, R.id.rowBG, new RecyclerTouchListener.OnSwipeOptionsClickListener() {
                    @Override
                    public void onSwipeOptionClicked(int viewID, int position) {
                        String message = "";
                        if (viewID == R.id.add) {
                            message += "Add";
                        } else if (viewID == R.id.edit) {
                            message += "Edit";
                        } else if (viewID == R.id.change) {
                            message += "Change";
                        }
                        message += " clicked for row " + (position + 1);
                        util.shortToast(getApplicationContext(), message);
                    }
                });
        mRecyclerView.addOnItemTouchListener(onTouchListener);

In below code, i want to hide a Relativelayout when in onSwipeOptionclicked() function the viewID == R.id.add. I modified code to get reference but don't know what to do next.

.setSwipeOptionViews(R.id.add, R.id.edit, R.id.change)
                    .setSwipeable(R.id.rowFG, R.id.rowBG, new RecyclerTouchListener.OnSwipeOptionsClickListener() {
                        @Override
                        public void onSwipeOptionClicked(int viewID, int position) {
                            if (viewID == R.id.add) {
                            } 
                        }
                    });

Modified code:

.setSwipeOptionViews(R.id.add, R.id.edit, R.id.change)
                        .setSwipeable(R.id.rowFG, R.id.rowBG, new RecyclerTouchListener.OnSwipeOptionsClickListener() {
                            @Override
                            public void onSwipeOptionClicked(int viewID, int position) {
                                if (viewID == R.id.add) {


RelativeLayout username = (RelativeLayout) view.findViewById(R.id.add);
                                } 
                            }
                        });

Relativelayout XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

    <LinearLayout
        android:id="@+id/rowBG"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:orientation="horizontal">


        <RelativeLayout
            android:id="@+id/add"
            android:layout_width="@dimen/swipeWidth"
            android:layout_height="match_parent"
            android:background="@color/swipeoption_blue"
            android:clickable="true"
            android:focusable="true"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_centerInParent="true"
                android:background="?android:selectableItemBackground"
                android:gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:src="@drawable/ic_add_black_24dp"
                    android:tint="@android:color/white"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="8dp"
                    android:layout_marginRight="8dp"
                    android:layout_marginTop="4dp"
                    android:ellipsize="end"
                    android:gravity="center"
                    android:maxLines="1"
                    android:text="Add"
                    android:textColor="@android:color/white"
                    android:textSize="12sp"/>
            </LinearLayout>
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/edit"
            android:layout_width="@dimen/swipeWidth"
            android:layout_height="match_parent"
            android:background="@color/swipeoption_green"
            android:clickable="true"
            android:focusable="true"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_centerInParent="true"
                android:background="?android:selectableItemBackground"
                android:gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:src="@drawable/ic_mode_edit_black_24dp"
                    android:tint="@android:color/white"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:layout_marginLeft="8dp"
                    android:layout_marginRight="8dp"
                    android:layout_marginTop="4dp"
                    android:ellipsize="end"
                    android:gravity="center"
                    android:maxLines="1"
                    android:text="Edit"
                    android:textColor="@android:color/white"
                    android:textSize="12sp"/>
            </LinearLayout>
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/delete"
            android:layout_width="@dimen/swipeWidth"
            android:layout_height="match_parent"
            android:background="@color/swipeoption_purple"
            android:clickable="true"
            android:focusable="true"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_centerInParent="true"
                android:background="?android:selectableItemBackground"
                android:gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:tint="@android:color/white"
                    app:srcCompat="@drawable/ic_build_black_24dp"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:id="@+id/delete_user"
                    android:layout_marginLeft="8dp"
                    android:layout_marginRight="8dp"
                    android:layout_marginTop="4dp"
                    android:ellipsize="end"
                    android:gravity="center"
                    android:maxLines="1"
                    android:text="Delete"
                    android:textColor="@android:color/white"
                    android:textSize="12sp"/>
            </LinearLayout>
        </RelativeLayout>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/rowFG"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/white"
        android:clickable="true"
        android:elevation="4dp"
        android:focusable="true"
        android:orientation="horizontal"
        android:visibility="visible">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/selectableItemBackground"
            android:orientation="horizontal"
            android:paddingBottom="16dp"
            android:paddingLeft="16dp"
            android:paddingTop="16dp">

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="6"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/mainText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:maxLines="1"
                    android:text="No Calls Found"
                    android:textSize="16sp"
                    android:textStyle="bold"
                    tools:text="Row 1"/>

                <TextView
                    android:id="@+id/subText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp"
                    android:maxLines="1"
                    tools:text="Some text ..."/>
            </LinearLayout>

            <Button
                android:id="@+id/rowButton"
                style="?attr/buttonBarButtonStyle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|center_vertical"
                android:gravity="right|center_vertical"
                android:text="Button"/>
        </LinearLayout>

    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_alignParentBottom="true"
        android:background="#67676767"
        android:elevation="5dp"/>
</RelativeLayout>

Upvotes: 0

Views: 171

Answers (2)

katemed
katemed

Reputation: 31

For anybody who looking for solution how close\hide RelativeLayout programmatically in android. I have a DrawerLayout as parent of RelativeLayout, so, this solution work for me:

DrawerLayout dl = findViewById(R.id.drawer_layout);
dl.closeDrawers();

Upvotes: 0

Stanislav Parkhomenko
Stanislav Parkhomenko

Reputation: 489

username.setVisibility(View.GONE);

Upvotes: 1

Related Questions