使用errorButtonRetry.setVisibility(View.GONE);之后还是会显示
时间: 2024-03-28 21:39:40 浏览: 183
如果 `errorButtonRetry` 仍然显示,可能是因为 `setVisibility(View.GONE)` 没有被成功执行。你可以尝试以下几个方法:
1. 确保 `errorButtonRetry` 对象已经被正确初始化,且 `findViewById()` 方法返回的不是 null。
2. 确保在调用 `setVisibility(View.GONE)` 之前,`errorButtonRetry` 已经被添加到了布局中,即 `errorButtonRetry.getParent() != null`。
3. 如果你使用了 `ViewStub` 来延迟加载 `errorButtonRetry`,则需要先调用 `ViewStub.inflate()` 方法来将其实例化并添加到布局中,然后再调用 `setVisibility(View.GONE)`。
如果以上方法都不起作用,你可以检查一下代码中是否存在其他修改 `errorButtonRetry` 可见性的地方,或者尝试使用 `errorButtonRetry.setVisibility(View.INVISIBLE)` 来替代 `View.GONE`,看看是否能够达到隐藏的效果。
相关问题
if (holder instanceof Right){ Right right= (Right) holder; switch (contentType){ case text: TextContent textContent= (TextContent) list.get(position).getContent(); if (textContent.getText().contains("[emo")){ right.righttext.setVisibility(View.GONE); right.right_img.setVisibility(View.GONE); right.emo_right.setVisibility(View.VISIBLE); for (Map.Entry<String , Integer>integerEntry:map.entrySet()){ if (textContent.getText().equals(integerEntry.getKey())){ Glide.with(context) .load(integerEntry.getValue()) .into(right.emo_right); } } }else { right.righttext.setVisibility(View.VISIBLE); right.right_img.setVisibility(View.GONE); right.emo_right.setVisibility(View.GONE); right.righttext.setText(textContent.getText()); } break;
这段代码是用于 RecyclerView 中显示聊天内容的,其中 Right 是一个 ViewHolder 类型,代表右边的聊天气泡。这段代码根据聊天内容的类型来判断显示哪种视图,如文本消息或表情消息。
如果聊天内容是文本消息,那么就显示一个包含文本的右边聊天气泡视图,否则,如果聊天内容是表情消息,那么就显示一个包含表情图片的右边聊天气泡视图。在显示表情图片时,将右边聊天气泡的文本视图和图片视图都设置为不可见,然后将表情图片视图设置为可见,并使用 Glide 库将表情图片加载到 ImageView 中。
需要注意的是,这里的 map 变量是一个包含表情消息和表情图片对应关系的 Map 对象,其中键为表情消息,值为表情图片的资源 ID。
private void setShippingDataUi(){ if (shippingData ==null){ rlAddress.setVisibility(View.GONE); rlAddAddress.setVisibility(View.VISIBLE); }else { rlAddress.setVisibility(View.VISIBLE); rlAddAddress.setVisibility(View.GONE); tvShippingName.setText("收货人:"+ shippingData.getReceiverName()); tvShippingPhone.setText("电话:" +shippingData.getReceiverPhone() ); tvShippingAddress.setText("地址:"+shippingData.getReceiverAddress()); }
这是一个私有方法 setShippingDataUi(),用于设置收货地址的 UI。在方法内部,首先判断 shippingData 是否为空,如果为空,则将收货地址视图隐藏起来,将添加收货地址视图显示出来。否则,将收货地址视图显示出来,将添加收货地址视图隐藏起来。接着根据 shippingData 的数据,将收货人姓名、电话和地址分别设置给对应的 TextView 控件(tvShippingName、tvShippingPhone、tvShippingAddress)显示出来。该方法一般在获取收货地址数据后调用,用于将获取的收货地址数据展示给用户。
阅读全文