私のアプリケーションでは、データベースから日付と名前のリストを取得し、1つのカードビューに名前を表示し、そのすぐ上に日付を表示します。私は同じ日付を共有する複数のレコードに対して1つの日付だけが表示されることが理にかなっていると判断しました。カードビューの表示と非表示
現在のところ、単純なカーソルを使用しているときはコードが正しく機能しますが、カーソルから離れて情報を得るために単純なゲッターを使いたいと思っています。
現在私の問題を引き起こしている以下のコードを追加しました。また、完全に動作するカーソルアダプタで使用したオリジナルバージョンでコメントしました。 currentDate
カーソルの位置position
にあり、previousDate
カーソルの位置position - 1
にあるので
カーソルバージョンcurrentDate
とpreviousDate
で
if (position - 1 >= 0) {
String currentDate = alarmDetails.getAlarmDate();
String previousDate = alarmDetails.getAlarmDate();
// Cursor version
//String currentDate = cursor.getString(cursor.getColumnIndexOrThrow("complete_date"));
//cursor.moveToPosition(position - 1);
//String previousDate = cursor.getString(cursor.getColumnIndexOrThrow("complete_date"));
if (currentDate.equalsIgnoreCase(previousDate)) {
viewHolder.header.setVisibility(View.GONE);
viewHolder.cardView.setVisibility(View.GONE);
} else {
viewHolder.header.setVisibility(View.VISIBLE);
viewHolder.cardView.setVisibility(View.VISIBLE);
viewHolder.header.setText(currentDate);
}
} else {
viewHolder.header.setVisibility(View.VISIBLE);
viewHolder.cardView.setVisibility(View.VISIBLE);
viewHolder.header.setText(alarmDetails.getAlarmDate());
Cursor Version
//viewholder.header.setText(cursor.getString(cursor.getColumnIndexOrThrow("complete_date")));
}
}
こんにちは、お返事ありがとうございます、悲しいことに、問題は解決していませんが、引き続き検索しています – Steven