在Android中单击FloatingActionButton时,单击RecyclerView项目

时间:2017-07-04 12:07:17

标签: android android-recyclerview onclicklistener floating-action-button

我的应用中FloatingActionButton超过RecyclerViewButton显示正常,但是当我点击它时,它下方的RecyclerView项目正在获取点击事件,而不是按钮。如果我将RecyclerView设置为显示FloatingActionButton,则Button按预期工作。

如何解决此问题,并让Button获取点击事件?

谢谢。

2 个答案:

答案 0 :(得分:2)

只有在FloatingActionButton上没有设置onClick Listener时才会发生这种情况。所以只需在FloatingActionButton上设置onClick Listener即可解决问题....

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //Your code to do something if you have
        }
});

如果要采取行动,只需像上面那样实现一个空的侦听器。

答案 1 :(得分:1)

将FrameLayout用于屏幕。你可以获得所有点击事件,项目或浮动按钮。

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/white">
 <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </android.support.v7.widget.RecyclerView>
<android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_dialog_email" />
</FrameLayout>