【发布时间】:2020-07-06 13:43:48
【问题描述】:
我创建了一个聊天应用程序,它使用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,但我不确定。
谢谢
【问题讨论】:
-
你又叫 find view by id 了吗??????那么用户如何点击确认消息?
标签: android android-recyclerview visibility android-button