首页 > 解决方案 > 从外部活动中隐藏 RecyclerView 中的按钮

问题描述

我创建了一个聊天应用程序,用于RecyclerView创建消息。

调用所有聊天操作的活动ChatActivity

在某些情况下,RecyclerView会创建包含Confirm按钮的消息。

在此处输入图像描述

该按钮有一个listenerRecyclerView一切正常。

我希望一旦用户单击Confirmvisibility按钮的 将设置为GONE

我试图在我的点击监听器中添加以下内容,但是它没有隐藏按钮。

ChatAdapter.OnConfirmClickListener confirmListener = new ChatAdapter.OnConfirmClickListener(){
    @Override
    public void onClick(Button confirmB) {

        Log.d( "ERROR", "error" );

        DocumentReference IsConfirmed = db.collection( "Chats" ).document( chatID );
        IsConfirmed
                .update( "ConfirmedFlag", auth.getUid() )
                .addOnSuccessListener( new OnSuccessListener<Void>() {
                    @Override
                    public void onSuccess(Void aVoid) {

                        Button confirm = findViewById( R.id.Confirm );
                        confirm.setVisibility( View.GONE );
                        Log.d( "WHAT", "DocumentSnapshot successfully updated!" );

                    }
                } )
                .addOnFailureListener( new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Log.w( "WHAT", "Error updating document", e );
                    }
                } );


    }
};

它不工作的任何原因?我想也许有问题View

另外,可能是因为它是在适配器内部创建的,所以无法设置visibilityGONE但我不确定。

谢谢

标签: androidandroid-recyclerviewvisibilityandroid-button

解决方案


反而:

Button confirm = findViewById( R.id.Confirm );
confirm.setVisibility( View.GONE );

替换为:

confirmB.setVisibility( View.GONE );

我希望有用


推荐阅读