我有一个错误,我不能理解原因和如何解决它。我相信这是布局/视图/上下文刷新的问题,但我不知道。
我有一个来自listView的单元格(我更喜欢recyclerView,但这个项目有年份),在单元格的一角,我有一个按钮来显示更多选项。在编程上,它只创建一个元素View.GONE和另一个元素View.VISIBLE。
我将在稍后附加代码
对于这个按钮,我也设置了一个侦听器,当我点击它时,它会做与下面提到的相反的事情。它显示了一些元素,并对单元格隐藏了整个LinearLayout。元素会显示出来,但LinearLayout会像被窃听一样一直显示在屏幕上。如果我在任何地方点击,它都会消失,如果我试图点击它,它也会消失。这就像线性视图被窃听,并保持在那里,就像幽灵的视图。我要去买几张照片。
通常位于开头的单元格:https://imgur.com/1BjK0KP
按下整个视图以在单元格底部显示LinearLayout后的单元格:https://imgur.com/eONSptW
按下角的箭头隐藏LinearLayout后的单元格。在这里,它显示了bugged https://imgur.com/jrT0qxV视图
点击anywhere anywhere https://imgur.com/XD1jN7U后的单元格
public void expandView(View view){
final View cellView = view;
final LinearLayout editLinear = (LinearLayout) view.findViewById(R.id.cart_edit);
editLinear.setVisibility(View.VISIBLE);
final TextViewFont countText = (TextViewFont) view.findViewById(R.id.itemCount);
countText.setVisibility(View.GONE);
final TextViewFont total = (TextViewFont) view.findViewById(R.id.itemTotal);
final ImageView imageViewArrow = (ImageView) view.findViewById(R.id.cart_edit_image);
imageViewArrow.setImageDrawable(context.getResources().getDrawable(R.drawable.icon_arrow_up));
//notifyDataSetChanged();
imageViewArrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
countText.setVisibility(View.VISIBLE);
editLinear.setVisibility(View.GONE);
imageViewArrow.setImageDrawable(context.getResources().getDrawable(R.drawable.icon_arrow_down));
}
});发布于 2019-07-06 04:48:48
首先,您不需要存储上下文,因为在视图中有view.getContext()方法。我推荐这篇文章:https://possiblemobile.com/2013/06/context/
另一方面,请确保您没有与图像视图重叠的重影视图。
https://stackoverflow.com/questions/56908783
复制相似问题