Вот решение с find + awk
find . -maxdepth 1 -type f -printf '%TY-%Tm-%Td\n' | awk '{array[$0]+=1}END{ for(val in array) print val" "array[val] }'
По сути, происходит то, что мы находим все обычные файлы и печатаем их время модификации, как указано в формате %T, а затем awk берет на себя и подсчитывает каждую строку, используя ассоциированные массивы. оператор END{} использует цикл for, чтобы пройти через все элементы в связанном массиве, а также распечатать ключ + массив [ключевое] содержимое (это дата + счет).
Вы можете захотеть используйте sort для организации вывода, особенно sort -k 1 на основе столбца 1 (который является датой), но это необязательно. Также -maxdepth 1 будет проверять файлы только в текущей папке. Если вы хотите найти файлы в подкаталогах, удалите часть -maxdepth 1.
Выход образца
$ find . -maxdepth 1 -type f -printf '%TY-%Tm-%Td\n' | awk '{array[$0]+=1}END{ for(val in array) print val" "array[val] }'
2015-09-29 1
2016-04-06 2
2016-04-07 10
2016-04-08 2
2015-11-05 2
2016-04-22 2
2016-04-23 6
2016-04-24 1
2015-11-21 2
2015-11-22 2
Я думаю, что ваша проблема здесь:
app:layout_constraintBottom_toBottomOf="@+id/textViewReason"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/textViewReason"
Где вы пытаетесь использовать constraintTop и constraintBottom в одном представлении.
Попробуйте следующее:
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="TextView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBaseline_toBaselineOf="@id/textViewReason" />
В идеале вам просто нужно ограничить базовую линию, если вы хотите, чтобы она соответствовала причине textView
Попробуйте использовать приведенный ниже код для вашего RecyclerView:
(так как при использовании ConstraintLayout нельзя использовать «match_parent», вместо этого следует использовать «match_constraint», значение которого равно «0dp»).
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerViewTransactionList"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
А также попробуйте приведенный ниже код для вашего «textView2» в представлении, которое используется для цели RecyclerView:
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="TextView"
app:layout_constraintStart_toEndOf="@id/textViewReason"
app:layout_constraintTop_toTopOf="@+id/textViewReason"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@+id/textViewReason"
app:layout_constraintHorizontal_bias="1.0" />
Надеюсь, это вам поможет. Счастливое кодирование.
Похоже, проблема связана с вашими ограничениями RecyclerView. Не рекомендуется использовать match_parent для Views, содержащегося в ConstraintLayout, как указано в документации. Правильные горизонтальные ограничения для RecyclerView должны выглядеть так:
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerViewTransactionList"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
Измените свой последний текстовый вид макета ресайклера на это. Я думаю, проблема здесь.
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="TextView"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
Или вы можете попробовать изменить макет Constraint на любой другой макет, например LinearLayout или Relative. Иногда макет ограничения создает проблему с просмотром ресайзера.