隐藏RecyclerView的外部活动按钮

问题描述 投票:0回答:1

我创建了一个使用RecyclerView来创建消息的聊天应用。

所有聊天动作都被称为ChatActivity的活动。

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

enter image description here

按钮在listener上有一个RecyclerView,并且都可以使用。

我希望用户单击Confirm后,按钮的visibility将被设置为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可能有问题?

而且,也许是因为它是在适配器内部创建的,因此无法将visibility设置为GONE,但我不确定。

谢谢

android android-recyclerview visibility android-button
1个回答
0
投票

代替:

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

替换为:

confirmB.setVisibility( View.GONE );

我希望有用

© www.soinside.com 2019 - 2024. All rights reserved.