我创建了一个使用RecyclerView
来创建消息的聊天应用。
所有聊天动作都被称为ChatActivity
的活动。
在某些情况下,RecyclerView
创建包含Confirm
按钮的消息。
按钮在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
,但我不确定。
谢谢
代替:
Button confirm = findViewById( R.id.Confirm );
confirm.setVisibility( View.GONE );
替换为:
confirmB.setVisibility( View.GONE );
我希望有用