我使用SimpleCursorAdapter填充了我的数据库的ListView。 我的ListView中有2行,日期为1行(我的表中的一列),另一行是我的db的2列。
第一列是日期,第二列是课程,第三列是课程的主题。
问题是:如果我当天有多个课程,它会在我的应用中显示如下:
17年5月15日
英语阅读
17年5月15日
英语听力
但是,我想,如果我当天有多个课程,我只想显示第一行(在顶部),如下所示:
17年5月15日
英语阅读
英语听力
我该怎么做?
这是我的list_row_page_itude.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/linearLayout"
android:orientation="vertical">
<TextView
android:id="@+id/text_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Date"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="11dp">
<TextView
android:id="@+id/text_branche_cours"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="English"/>
<TextView
android:id="@+id/text_trait"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" - " />
<TextView
android:id="@+id/text_designation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reading"
/>
</LinearLayout>
我如何在我的代码中实现它:
lvJalons = (ListView)findViewById(R.id.ListJalons);
Cursor cursor = dbhelper.getAllJalons();
String[] from = { "date_point", "designation_jalon","description_jalon" };
int[] to = {R.id.text_date,R.id.text_branche_cours, R.id.text_designation };
adapter = new SimpleCursorAdapter(this, R.layout.list_row_page_itude, cursor, from, to, 0);
lvJalons.setAdapter(adapter);
adapter.notifyDataSetChanged();
我使用的数据库上的方法(getAllJalons()):
` public Cursor getAllJalons()
{
Calendar c = Calendar.getInstance();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = c.getTime();
String currentDate = df.format(date);
String query = ("select ID as _id,date_jalon,date_point,devoir,evaluation,importance,designation_jalon, description_jalon,cours_fk from "+TABLE_JALONS+" where date(date_jalon) >='"+currentDate+"'");
Open();
Cursor cursor = db.rawQuery(query,null);
return cursor;
}`
谢谢你们。
答案 0 :(得分:0)
CursorAdapters直接不支持切片。您可以查看此项目,该项目将该功能扩展到CursorAdapters - https://github.com/twotoasters/SectionCursorAdapter