データベースから ListView にデータを転送しようとしています。以前は、SimpleCursorAdapter を使用して、すべてのデータを含むカーソルからデータを転送していましたが、現在は、5 つのリストから、カーソルを分割する 5 つの ListViews にデータを転送する必要があります。データベースに複数の列があるため、ArrayAdapter を使用できないと思います。独自のアダプターを作成する方法がよくわかりませんが、それを使用できると読んだことがあります。BaseAdapter から独自のアダプターを作成する方法がわかりません。
ここに私のフラグメントレイアウトファイルがあります
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
/* ....(I skipped much of the irrelevant code here) */
</LinearLayout>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/mainList"
android:layout_gravity="left|center_vertical"
android:layout_weight="1"/>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lunchList"
android:layout_gravity="left|center_vertical"
android:layout_weight="1"/>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/dinnerList"
android:layout_gravity="left|center_vertical"
android:layout_weight="1"/>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/snackList"
android:layout_gravity="left|center_vertical"
android:layout_weight="1"/>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/exerciseList"
android:layout_gravity="left|center_vertical"
android:layout_weight="1"/>
</LinearLayout>
フラグメントからのコード(現在データの転送に使用しています)
//Append Test Case to Database
db.createEntry(test);
//SimpleCursorAdapter Sequence
cursor = db.getAllEntries();
String[] from = {DESCRIPTION, CALORIES, SERVINGSIZE, DATE};
int[] to = {R.id.description, R.id.calories, R.id.servingSize, R.id.dateBox};
adapt = new SimpleCursorAdapter(getActivity(), R.layout.journal_inner_view, cursor, from, to, 1);
ListView listItem = (ListView) getActivity().findViewById(R.id.mainList);
listItem.setAdapter(adapt);
//To be implemented for delete and edit commands /*listItem.getOnItemLongClickListener();*/
データベースを作成するための SQL
db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_JOURNAL + " (_id integer primary key autoincrement, " //NON-NLS-1$
+ JournalDBAdapter.MEAL + " TEXT, " //NON-NLS-1$
+ JournalDBAdapter.DESCRIPTION + " TEXT, " //NON-NLS-1$
+ JournalDBAdapter.DATE + " TEXT, " //NON-NLS-1$
+ JournalDBAdapter.CALORIES + " INTEGER, " //NON-NLS-1$
+ JournalDBAdapter.SERVINGSIZE + " INTEGER" //NON-NLS-1$
+ " );"); //NON-NLS-1$ //NON-NLS-2$);