Вот еще один угол взгляда на него.
Примечание: высотные нити от середины до самой верхней точки.
public static void DrawDiamond(int height)
{
DiamondTop(height);
DiamondBottom(height);
}
public static void DiamondTop(int height)
{
for (int row = 1; row <= height; row++)
{
for (int padding = height - row; padding > 0; padding--)
{
System.out.print(" ");
}
for (int numberOfAsterisks = (row * 2) - 1; numberOfAsterisks > 0; numberOfAsterisks--)
{
System.out.print("*");
}
System.out.println();
}
}
public static void DiamondBottom(int height)
{
for (int row = height - 1; row > 0; row--)
{
for (int padding = row; padding < height; padding++)
{
System.out.print(" ");
}
for (int numberOfAsterisks = (row * 2) - 1; numberOfAsterisks > 0; numberOfAsterisks--)
{
System.out.print("*");
}
System.out.println();
}
}
Возможно, это связано с тем, что после прокрутки идентификаторов элементов просмотра ресайклеров запутываются. Попробуйте переопределить следующие методы в Adapter
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemViewType(int position) {
return 1;
}