使3个视图可见,然后根据条件隐藏其他视图

时间:2017-01-05 12:07:52

标签: java android imageview android-recyclerview

我在Java上有一个RecyclerView项目,其中包含几个基于某些条件可见的图像。但是,我注意到如果满足大多数条件,许多图像将是可见的,并且将从其父布局中超出范围。

下面说明了我的目的是如何实现这一目的: What's happening VS Expectation

RecyclerView中的每个图像的工作代码都很简单,例如:

Request = SystemCommands.getCommand(code)
print(Request.name)

然而,我不知道该怎样做才能在满足3个条件后才显示3个图像。让我们说if (iJobType == 1) { imageView1.setVisibility(View.VISIBLE) } else { imageView1.setVisibility(View.GONE) } if (iJobType == 2) { imageView2.setVisibility(View.VISIBLE) } else { imageView2.setVisibility(View.GONE) } 给出的是1,2,3,4,5,6;这意味着将根据这种情况显示6张图像,但是现在我只需要显示3张图像。

我希望它足够清楚,随时留下以下评论以更好地理解这一点。干杯!

1 个答案:

答案 0 :(得分:0)

在这种情况下我会做的是:

首先,我将在Object类中创建一个getter setter boolean isConditionmeet,用于适配器类。

e.g。 list在Adapter类中用作:

 private ArrayList<MyObject> list;

和Object类:

public class MyObject
{
  private boolean conditionMeet;

  public boolean isconditionMeet()
  {
    return conditionMeet;
  }

  public void setconditionMeet(boolean conditionMeet)
  {
    this.conditionMeet = conditionMeet;
  }
}

现在只要条件符合显示项目,我将为该项目设置setconditionMeet(true),其他项目的conditionMeet为false。最后更新适配器以获取UI中的更改。